ホームページ >バックエンド開発 >PHPチュートリアル >新しい mysqli でエラーが発生するのはなぜですか?

新しい mysqli でエラーが発生するのはなぜですか?

WBOY
WBOYオリジナル
2016-06-13 12:47:201319ブラウズ

新しいmysqliエラーが発生するのはなぜですか?
$db = new mysqli('localhost', 'root', '', 'tran');
$name = 'ジャック';

$sql_1 = sprintf('INSERT INTO `tb_user` (name)VALUES("%s")',mysql_real_escape_string($name));

$db->query($sql_1);

なぜ表示されるのですか

警告: mysql_real_escape_string() [function.mysql-real-escape-string]: ユーザー 'ODBC'@'localhost' のアクセスが拒否されました

警告: mysql_real_escape_string() [function.mysql-real-escape-string]: サーバーへのリンクを
で確立できませんでした
これら 2 つの文は間違っています。データベース mysql_real_escape_string に接続できない場合、エラーが報告されることはわかっていますが、明らかに接続されています。
mysql_connect() mysql_select_db mysql_query() に戻せば問題ありません

また、フィールド名が null 以外に設定されているのですが、警告のような重大なエラーがスローされた場合でも、上記の SQL ステートメントで null 値が保存されるのはなぜですか? not nullは空にできない、あるいは保存できないというのは本当ではないでしょうか?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。