Начал изучать PHP и после изучения основного материала, что было легко, потому что я изучаю C ++ в школе, и большинство вещей похоже, я начал с mysql. Все работает нормально, но я не могу заставить работать connect_errno
.
Скопировал и вставил этот http://php.net/manual/en/mysqli.connect-errno.php в мой код без успеха.
Мои несколько строк кода:
<?php error_reporting(0); $db = mysqli_connect('127.0.0.1' , 'root' , '' , 'mydb'); if ($db->connect_errno) { die('Connect Error: ' . $db->connect_errno); } ?>
Я также попробовал пример из учебника, но не успел.
EDIT: ОТВЕТ НИЖЕ!
Вы смешали объектно-ориентированный подход и процедурный подход. Ниже приведен пример подхода OO.
$db = new mysqli('127.0.0.1' , 'root' , '' , 'mydb'); if ( $db->connect_errno ) { die('Connect Error: ' . $db->connect_errno); }
error_reporting( 0 );
будут подавлять ошибки, поэтому, если вы находитесь в рабочем процессе отладки и должны видеть эти ошибки, вам необходимо обновить директиву отчетов об ошибках error_reporting( E_ALL );
,
Кроме того, я обновил имя db до mydb
как это отражено в коде (я переключил это на своей локальной машине, чтобы поэкспериментировать с подключениями / ошибками).
Вы используете сочетание OO и процедурного кода. mysql_connect не возвращает объект; он возвращает дескриптор db. Вы можете получить его номер ошибки, используя следующее:
$db = mysqli_connect('127.0.0.1' , 'root' , '' , 'mydb'); $err = mysqli_connect_errno();