<?php $database="jayesh"; //database name $first=$_POST['first'];//this values comes from html file after submitting $last=$_POST['last']; $con = mysqli_connect("localhost","root" ,"");//for wamp 3rd feild is balnk if (!$con) { die('Could not connect: ' . mysqli_connect_error()); } mysqli_select_db("$database", $con); $query = "INSERT INTO info (first,last)VALUES ('$first','$last')"; mysqli_query($query); echo "<script type='text/javascript'>\n"; echo "alert('you are Succesflly registered');\n"; echo "</script>"; mysqli_close(); ?>
Это мой код. Я получаю следующие ошибки. Помощь Plz. Thnx
Предупреждение: mysqli_select_db () ожидает, что параметр 1 будет mysqli, строка указана в C: \ wamp \ www \ Новая папка \ insert.php в строке 10
Предупреждение: mysqli_query () ожидает не менее двух параметров, указанных в C: \ wamp \ www \ Новая папка \ insert.php в строке 13
Предупреждение: mysqli_close () ожидает ровно 1 параметр, 0 заданный в C: \ wamp \ www \ Новая папка \ insert.php в строке 20
он требует 4 параметра: 1-й хозяин, 2-й пользователь, 3-й пароль и 4-й имя db mysqli_connect («localhost», «root», «», $ database);
Изменения –
$con = mysqli_connect("localhost","root" ,"", $database);
А также –
mysqli_query($con, $query);
Проблема в том, что mysqli_connect принимает все 4 параметра для соединения в формате;
mysqli_connect("myhost", "myuser", "mypassw", "mybd");
Я исправил это в коде ниже.
<?php // Set Database name; $database = "jayesh"; $con = mysqli_connect("localhost", "root", "", $database); if (!$con) { die('Could not connect: ' . mysqli_connect_error()); } $first = isset($_POST['first']) && strlen($_POST['first']) ? mysqli_real_escape_string($con, $_POST['first']) : '' ; $last = isset($_POST['last']) && strlen($_POST['last']) ? mysqli_real_escape_string($con, $_POST['last']) : '' ; $query = "INSERT INTO `info` (`first`, `last`) VALUES ('$first', '$last')"; mysqli_query($con, $query); echo "<script type='text/javascript'>\n"; echo "alert('you are Succesflly registered');\n"; echo "</script>"; mysqli_close($con);
Некоторые заметки, которые я также изменил в вашем коде;
Чтобы решить эту проблему, я просто проверил, была ли установлена опубликованная переменная и что она содержит данные (strlen). После этого вы бросаете его через mysqli_real_escape_string, чтобы избежать его и сделать его безопасным для вставки в базу данных;
Примечание. Поскольку mysqli_real_escape_string () требует, чтобы первым параметром являлось соединение с базой данных, его нужно было перенести за соединение с базой данных;
Это просто требует размещения $ con внутри него, поэтому он знает, какое соединение закрыть. В сложных системах, когда в игре играют несколько баз данных, отсутствие соединения может привести к ошибке
Примечание . Требование для первого параметра также распространяется на функцию mysqli_query (), которая также была изменена в коде выше.