Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
致命错误:对第86行/home/u163876569/public_html/register.php中的非对象调用成员函数prepare()_Php_Mysql - Fatal编程技术网

致命错误:对第86行/home/u163876569/public_html/register.php中的非对象调用成员函数prepare()

致命错误:对第86行/home/u163876569/public_html/register.php中的非对象调用成员函数prepare(),php,mysql,Php,Mysql,我不知道这个错误意味着什么有人知道它意味着什么吗 致命错误:对中的非对象调用成员函数prepare() /第86行的home/u163876569/public_html/register.php 这是第86行,请先连接数据库 $odb = new PDO("mysql:host=$my_db_host;dbname=$my_db_database", $my_db_username, $my_db_password); 如果在这方面没有产生任何错误,并且您仍然会得到致命错误:对非对象调用成员

我不知道这个错误意味着什么有人知道它意味着什么吗

致命错误:对中的非对象调用成员函数prepare() /第86行的home/u163876569/public_html/register.php


这是第86行,请先连接数据库

$odb = new PDO("mysql:host=$my_db_host;dbname=$my_db_database", $my_db_username, $my_db_password);

如果在这方面没有产生任何错误,并且您仍然会得到
致命错误:对非对象调用成员函数prepare()
错误,我可以猜测
$odb
变量的范围可能有问题

请检查对象
$odb
,因为它没有创建。 尝试打印
$odb

var_dump($odb); die;

如果给您错误,则表示您的
$odb
尚未创建。

首先检查PDO连接是否成功。为什么要捕获异常?这正是导致OP看到的错误的原因。@deceze这有什么错?我假设1)他正在开发2)他将看到echoIf
new PDO
抛出异常,这意味着它无法连接到数据库。如果无法连接到数据库,则几乎没有理由执行以下任何代码:;在这种情况下,您希望停止应用程序。通过在不退出的情况下捕获异常,实际上是在阻止应用程序按应有的方式停止。只是不捕获异常,这会导致显示错误消息并停止应用程序。@deceze是的,如果你是正确的,我将稍微修改一下代码。很简单。做不接住。这个例外。
var_dump($odb); die;