Доброе утро!
Я новичок в PHP. Я пытаюсь сделать эту работу этой проблемой, но показывает мне эту проблему. Это форма, которая модифицирует некоторые записи в базе данных mysql. Коды получают данные, но он показывает мне эту ошибку, и когда я запускаю модификацию, это показывает мне несколько проблем ….
Предупреждение: mysqli_query () ожидает, что параметр 2 будет строкой, объект указан в C: \ wamp \ www \ CTE \ generatedicion.php в строке 15
Я все еще не знаю, как это исправить. Я действительно задерживаю вашу помощь.
Благодаря!
<body> <?php include "conexiondb.php"; if(!isset($_POST['submit'])){ //$busqueda=$con->query( $muestra=$con->query("SELECT * FROM clientes C INNER JOIN producto P ON C.serial = P.serial WHERE P.serial = $_GET[serial]"); //mysqli_query($con,$sql); mysqli_query($con,$muestra); $person=$muestra->fetch_array(); } ?> <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post"> cliente<input type = "text" name="inputcliente" value = "<?php echo $person['cliente']; ?>" /><br/> cedula <input type = "text" name="inputcedula" value = "<?php echo $person['cedula']; ?>" /><br/> <input type="hidden" name="serial" value="<?php echo $_GET['serial'];?>"/> <input type = "submit" name = "submit" value= "Modificar"/> </form> <?php if (isset($_POST ['submit'])){ $u = "UPDATE cliente SET'cliente'='$_POST[inputcliente]','cedula' = '$_POST[inputcedula]' WHERE serial=$_POST[serial]"; mysqli_query($con,$u); echo "El usuario ha sido modificado"; header ("Location:busca.php"); } else { } ?> </body> </html>
+ Изменить
$muestra=$con->query("SELECT * FROM clientes C INNER JOIN producto P ON C.serial = P.serial WHERE P.serial = $_GET[serial]");
к
// Обновлено для очистки ввода
$serial = mysqli_real_escape_string($con,$_GET[serial]) ; $qry="SELECT * FROM clientes C INNER JOIN producto P ON C.serial = P.serial WHERE P.serial = $serial";
затем
$ muestra = mysqli_query ($ con, $ qry);
Прочтите ссылку на mysqli и узнайте из приведенной ошибки
ваша ошибка заключается в том, что mysqli_query ожидает, что параметр seconnd будет строкой, но вы не укажете в качестве аргумента строковую переменную.
mysqli_query($con,$query)
$ query – это строка, а $ con – объект.
Ваше решение состоит в том, чтобы заставить $ muestra быть строкой.
$muestra="SELECT * FROM clientes C INNER JOIN producto P ON C.serial = P.serial WHERE P.serial = $_GET[serial]";