警告:mysqli_query()期望参数2是string,给定的对象 [英] Warning: mysqli_query() expects parameter 2 to be string, object given in

查看:202
本文介绍了警告:mysqli_query()期望参数2是string,给定的对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

早上好!

我是PHP新手。我正在努力使这部分工作,但显示我这个问题。它是一个修改mysql数据库中的一些记录的形式。代码获取数据,但它显示我的错误,当我运行修改它显示我几个问题....


警告:mysqli_query ()期望参数2是字符串,在第15行的C:\wamp\www\CTE\formedicion.php中给出
的对象。


我仍然不知道如何解决这个问题。

谢谢!

 < body> ; 

<?php

包含conexiondb.php;

如果(!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 =textname =inputclientevalue =<?php echo $ person ['cliente'];?>/>< br />

cedula< ; input type =textname =inputcedulavalue =<?php echo $ person ['cedula'];?>/>< br />

< ; input type =hiddenname =serialvalue =<?php echo $ _GET ['serial'];?>/>
< input type =submitname =提交value =Modificar/>
< / form>

<?php
if(isset($ _ POST ['submit'])){

$ u =更新E cliente SET'cliente'='$ _ POST [inputcliente]','cedula'='$ _POST [inputcedula]'WHERE serial = $ _ POST [serial];
mysqli_query($ con,$ u);

echoEl 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);

Good morning!

I'm new in PHP. i'm trying to make work this scrpt but is showing me this problem. It's a forma that modifies some records in a mysql database. The codes gets the data but it shows me that mistake and when i run modify it shows me several problems....

Warning: mysqli_query() expects parameter 2 to be string, object given in C:\wamp\www\CTE\formedicion.php on line 15

I still don't know how to fix it. I really appreaciate your help.

Thanks!

<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>

解决方案

Change

$muestra=$con->query("SELECT * FROM clientes C 
INNER JOIN producto P ON C.serial  = P.serial WHERE P.serial = $_GET[serial]");

To

// Updated to clean the input

$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";

Then

$muestra = mysqli_query($con,$qry);

这篇关于警告:mysqli_query()期望参数2是string,给定的对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆