脚本宝典收集整理的这篇文章主要介绍了php – 使用预准备语句时“不允许属性访问”警告,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
... $key = 'd0gis=SUPER-cute'; $sql = "SELECT * From `users2` WHERE username = ? AND pwd = AES_ENCRYPT(?,?)"; $stmt = $conn->stmt_inIT(); $stmt->PRepare($sql); $stmt->bind_param('sss',$username,$password,$key); $stmt->execute(); $stmt->Store_result(); ...
当调试器遇到第8行或$stmt-> prepare($sql);时,来自xdebug的6个相同的警告表说:
@H_419_5@(!) Warning: main(): Property access is not Allowed yet in D:\xampp\htdocs\learnPHP\includes\authenticate_MysqLi.inc.PHP on line 8
$stmt中的error属性为空,我没有真正的问题,但我只是想知道是什么原因导致出现此警告消息.
> UPDATE query with prepared statements
> http://php.net/manual/en/mysqli-stmt.param-count.php
mysqli::$connect_error
,这对于某些PHP版本是破坏的:
@H_419_5@
The MysqLi->connect_error property only works properly as of PHP versions 5.2.9 and 5.3.0. Use the MysqLi_connect_error() function if compatibility with earlier PHP versions is required.
请参阅mysqli::__construct()
文档中的连接锅炉板:
$MysqLi = new MysqLi('localhost','my_user','my_password','my_db'); /* * This is the "official" OO way to do it,* BUT $connect_error was broken until PHP 5.2.9 and 5.3.0. */ if ($MysqLi->connect_error) { die('Connect Error (' . $MysqLi->connect_errno . ') ' . $MysqLi->connect_error); } /* * Use this instead of $connect_error if you need to ensure * compatibility with PHP versions prior to 5.2.9 and 5.3.0. */ if (MysqLi_connect_error()) { die('Connect Error (' . MysqLi_connect_errno() . ') ' . MysqLi_connect_error()); }
以上是脚本宝典为你收集整理的php – 使用预准备语句时“不允许属性访问”警告全部内容,希望文章能够帮你解决php – 使用预准备语句时“不允许属性访问”警告所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。