mysqli_query()期望参数2为字符串 [英] mysqli_query() expects parameter 2 to be string

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

问题描述

我遇到了错误 警告:mysqli_query()期望参数2为字符串,第10行的C:\ Program Files(x86)\ EasyPHP-DevServer-13.1VC9 \ data \ localweb \ login.php中给出的对象 错误:

i am getting the error Warning: mysqli_query() expects parameter 2 to be string, object given in C:\Program Files (x86)\EasyPHP-DevServer-13.1VC9\data\localweb\login.php on line 10 Error:

执行查询

<?php
$con=mysqli_connect("127.0.0.1","root","","forms");
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

  $sql=mysqli_query($con,"SELECT * FROM register Where username='$_POST[username]' AND password='$_POST[password]'");

  if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
echo "login success";

mysqli_close($con);
?>

推荐答案

if(!mysqli_query($con,$sql))不好,因为$sql是对象,而不是字符串

if(!mysqli_query($con,$sql)) isn't good as $sql is an object, not a string

$sql是作为mysql_query

失败时返回FALSE.要成功执行SELECT,SHOW,DESCRIBE或 EXPLAIN查询mysqli_query()将返回mysqli_result对象.为了 其他成功的查询mysqli_query()将返回TRUE.

Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries mysqli_query() will return a mysqli_result object. For other successful queries mysqli_query() will return TRUE.

因此您不必执行其他mysqli_query,只需按以下方式修改您的if

So you have not to do another mysqli_query, just modify your if in the following way

if(!$sql)
{
  //do something
}

如果您需要检查查询失败,这将起作用,否则,即使您的查询返回了0行,它也可能返回mysqli_result,因此请付款.

This will work if you need to check query failures, otherwise it could return a mysqli_result even your query have returned 0 rows, so please pay attetion.

这篇关于mysqli_query()期望参数2为字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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