PHP:尝试获取非对象的属性
我正在处理一个函数,它返回表是否存在 但它总是注意到:PHP:尝试获取非对象的属性,php,mysqli,mysql-num-rows,Php,Mysqli,Mysql Num Rows,我正在处理一个函数,它返回表是否存在 但它总是注意到: Notice: Trying to get property of non-object [...] on line 10 在 $mysqli变量的设置如下: $mysqli = new mysqli(mysqli_host, mysqli_user, mysqli_password, mysqli_database); 如何解决这个问题?您的SQL语法错误。检查变量$table的值。你应该吃点类似的东西 SHOW TABLES LIK
Notice: Trying to get property of non-object [...] on line 10
在
$mysqli变量的设置如下:
$mysqli = new mysqli(mysqli_host, mysqli_user, mysqli_password, mysqli_database);
如何解决这个问题?您的SQL语法错误。检查变量$table的值。你应该吃点类似的东西
SHOW TABLES LIKE "%"
您的SQL语法错误。检查变量$table的值。你应该吃点类似的东西
SHOW TABLES LIKE "%"
我漏掉了引语
$result = $mysqli->query("SHOW TABLES LIKE \"$table\"");
或
或
或
谢谢你的帮助。我把引语漏掉了
$result = $mysqli->query("SHOW TABLES LIKE \"$table\"");
或
或
或
谢谢您的帮助。您为什么需要这样的功能?你还不知道你的表吗?你真的想看看表是否存在吗?或者您的意思是表中是否包含数据?使用num rows不是查看表是否存在的方法。您可以将“if($result->num_rows>0)”更改为“if($result&&$result->num_rows>0)”,它应该类似于
显示类似于“$table”的表(您需要单引号)。您还需要确保清理和属性escape$table变量。调试代码后,@Orangepill是正确的。您缺少表中的单引号。正如他所说的,确保对input$table进行清理。为什么需要这样一个函数?你还不知道你的表吗?你真的想看看表是否存在吗?或者您的意思是表中是否包含数据?使用num rows不是查看表是否存在的方法。您可以将“if($result->num_rows>0)”更改为“if($result&&$result->num_rows>0)”,它应该类似于显示类似于“$table”的表(您需要单引号)。您还需要确保清理和属性escape$table变量。调试代码后,@Orangepill是正确的。您缺少表中的单引号。正如他所说的,确保清理输入$table。我不是downvoter,但%不是正则表达式,此代码将返回所有表,而不仅仅是用户要查找的表。当然,我可以使用“.”或“*”来处理重要的内容。。。这只是一个通配符,我用它代替了$table。。。如果$table=%1,他将得到所有表的列表;如果$table=他只会得到那张表。好的,nvm…我不是downvoter,但%不是正则表达式,此代码将返回所有表,而不仅仅是用户要查找的表。当然,我可以使用“.”或“*”来表示重要的内容。。。这只是一个通配符,我用它代替了$table。。。如果$table=%1,他将得到所有表的列表;如果$table=他只会得到那张表。好的,nvm。。。
$result = $mysqli->query("SHOW TABLES LIKE \"" . $table . "\"");
$result = $mysqli->query("SHOW TABLES LIKE '" . $table . "'");