mysqli_query () ожидает, что параметр 2 будет строкой

я получаю сообщение об ошибке Предупреждение: mysqli_query () ожидает, что параметр 2 будет строкой, объект указан в C: \ Program Files (x86) \ EasyPHP-DevServer-13.1VC9 \ data \ localweb \ login.php в строке 10 Ошибка:

на выполнение запроса


 Raptor06 июн. 2013 г., 09:08
Ваш код подвергаетсяSQL-инъекция, Сначала очистите входные данные.
 Raptor22 февр. 2016 г., 03:28
@ 0bijanmortazavi прокрутите вниз. Я'дали ответ давным-давно (почти 3 года назад)
 Raptor06 июн. 2013 г., 09:09
Кроме того, вы позвонилиmysqli_query() дважды. 2-е неверно и ненужный

Ответы на вопрос(5)

Пытаться

  

Поскольку вы можете выполнить запрос, это должна быть строка. Но в вашем коде

$ SQL = mysqli_query ()

Возвращает объект в $ sql

Заменить:

if (!mysqli_query($con,$sql))

с

if($sql === FALSE)

Проверяя$sql ЛОЖНО, чтобы доказать, что запрос не выполнен или нет.

Увидеть :mysqli_query ()

Попробуйте этот код:

  $sql="SELECT * FROM register Where username='".$_POST[username]."' AND password='."$_POST[password]."'";

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

В вашем коде вы уже используете mysqli_query и снова передаете объект этого в mysqli_query.

if(!mysqli_query($con,$sql)) ISN»не так хорошо, как$sql это объект, а не строка

$sql это объект какmysql_query

Возвращает FALSE при ошибке. Для успешных запросов SELECT, SHOW, DESCRIBE или EXPLAIN mysqli_query () вернет объект mysqli_result. Для других успешных запросов mysqli_query () вернет TRUE.

Таким образом, вы не должны делать другоеmysqli_queryПросто измените вашif следующим образом

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

Это будет работать, если вам нужно проверить ошибки запроса, в противном случае он может вернутьmysqli_result даже ваш запрос вернул 0 строк, поэтому, пожалуйста, обратите внимание.

 0bijan mortazavi28 февр. 2016 г., 14:20
Это'лучший ответ.
$sql = 'SELECT * FROM register Where username=\'' . $_POST[username]. '\' AND password=\''. $_POST[password].'\' ';
$response=mysqli_query($con, $sql);
if (empty( $response ))
{
    die('Error: ' . mysqli_error($con));
}

Попробуй это.

Ваш ответ на вопрос