Возникли проблемы с выполнением запроса mysqli


Вот в чем проблема: сегодня я начал обмен, чтобы использовать mysqli. Ничего особенного, просто пришлось изменить несколько утверждений. Все прошло нормально, никаких ошибок... За исключением того, что я вообще не могу заставить его выполнять какие-либо запросы. Я дважды и трижды проверял свой синтаксис. Я даже начал создавать ситуации, когда он ДОЛЖЕН возвращать ошибку (пытаясь заставить его вставлять в таблицы, которые не существуют, или со значениями, которые превышали пределы столбцов или не соответствовали типу) и... ничего. Он не возвращает ошибку, он не писать. Он БУДЕТ жаловаться, если параметр один НЕ является типом mysqli.

Вот соответствующий код:

$con = mysqli_connect("localhost", "root", "","test");

if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "INSERT INTO files VALUES (NULL, 5, 'hello')";
mysqli_query($con, $query);

И ничего. Он работает без проблем, но никогда не записывает запись. Я даже могу изменить запрос $ на "hdjhkfhhjfkd", и он не работает без проблем. mysqli_query() просто не выполняется, точка. Единственный раз, когда я могу заставить его отреагировать, это если я изменю $con на что-нибудь другое, тогда он пожалуется, что ему нужен тип mysqli.

Мысли? Это сводит меня с ума.

Author: GilloD, 2010-02-21

3 answers

Вы проверили возвращаемое значение mysqli_query()? Он возвращает значение FALSE, если произошла ошибка. В этом случае mysqli_error() предоставляет вам дополнительную информацию об ошибке.

<?php
$con = mysqli_connect("localhost", "root", "", "test");
if (mysqli_connect_errno()) {
  printf("Connect failed: %s\n", mysqli_connect_error());
  exit();
}

$query = "INSERT INTO files VALUES (NULL, 5, 'hello')";
echo "<pre>Debug: $query</pre>\m";
$result = mysqli_query($con, $query);
if ( false===$result ) {
  printf("error: %s\n", mysqli_error($con));
}
else {
  echo 'done.';
}
 31
Author: VolkerK, 2010-02-21 05:40:20
public function connection()
{
        $con=mysqli_connect('localhost','root','','int');
        return $con;

}
public function login($u,$p)
{
    $fd=$this->connection();
    $sql = "SELECT * FROM user WHERE (uname = '".$u."' AND pass = '".$p."')";
    $result = mysqli_query($fd,$sql);
    $num = mysqli_num_rows($result);
    if($num)
    {
        return TRUE;
    }
    else
    {
        return FALSE;
    }
}
 0
Author: Madhura Gimhan, 2016-04-06 11:20:28

Я тоже страдаю от этой проблемы. Наконец я обнаружил, что проблема возникает при моем подключении к базе данных. Вы можете использовать следующий код подключения, чтобы легко подключить базу данных.

$db_connect = mysqli_connect("host", "user", "password", "database");

Я надеюсь, что этот код поможет вам. Если у вас возникли какие-либо проблемы, оставьте комментарий. Спасибо.

 -3
Author: santosh devnath, 2015-07-14 14:25:13