Возникла проблема с выполнением mysqli_query для выполнения - PullRequest
16 голосов
/ 21 февраля 2010

Вот проблема: сегодня я начал обмен, чтобы использовать 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);

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

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

Ответы [ 3 ]

32 голосов
/ 21 февраля 2010

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

<code><?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
\ м "; $ result = mysqli_query ($ con, $ query); if (false === $ result) { printf («ошибка:% s \ n», mysqli_error ($ con)); } еще { эхо 'сделано.'; }
0 голосов
/ 06 апреля 2016
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 голосов
/ 14 июля 2015

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...