Вот проблема: я начал своп сегодня, чтобы использовать mysqli. Нет, biggie, просто пришлось изменить несколько заявлений. Все прошло отлично, никаких ошибок … За исключением того, что я не могу заставить его выполнять какие-либо запросы вообще. У меня двойной и тройной проверили мой синтаксис. Я даже начал создавать ситуации, в которых она ДОЛЖНА возвращать ошибку (пытаясь получить ее в INSERT для таблиц, которые не существуют или со значениями, превышающими пределы столбцов или не соответствующие типу) и … ничего. Он не возвращает ошибку, он не пишет. Это будет жаловаться, если параметр один не является типом 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.
Мысли? Это приводит меня в бешенство.
Вы проверили возвращаемое значение 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.'; }
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; } }
Я также страдаю от этой проблемы. Наконец, я обнаружил, что проблема возникает в моем соединении с базой данных . Этот код подключения можно использовать для простого подключения базы данных.
$db_connect = mysqli_connect("host", "user", "password", "database");
Надеюсь, этот код вам поможет. Если у вас возникли проблемы, оставьте комментарий. Спасибо.