PHP   发布时间:2022-04-05  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了致命错误:未被捕获的错误:不能使用PDOStatement类型的对象作为数组大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我想要一个@L_197_1@脚本,可以让我从数据库表中随机选择行,并将“ dispensered”的值更改为1.
我肯定这有点愚蠢,但是我对这个东西还是陌生的.

这是我的代码

<?@L_197_1@

$hostname = 'localhost';
$user = 'root';
$pass = '';
$database = 'testt';

$db_connection = new PDO( "MysqL:host=" . $hostname . ";dbname=" . $database, 
$user, $pass );

$results = $db_connection->query( 'SELECT username, password FROM accounts WHERE dispensered = 0 ORDER by rand() LIMIT 1' );

$db_connection->query( 'updatE accounts SET dispensered=1 WHERE id='.$results['id'].'' );

foreach ( $results as $row ) {
    echo '<p id="username">' . $row['username'] . '</p>';
    echo '<p id="password">&ndash;' . $row['password'] . '</p>';
}




// Close the connection
$db_connection = null;

最好的祝福

Fatal error: Uncaught Error: CAnnot use object of type PDOStatement as 
array in C:\xampp\htdocs\test\index.@L_197_1@:13 Stack trace: #0 {main} thrown 
in C:\xampp\htdocs\test\index.@L_197_1@ on line 13

编辑:尝试过;

$test = $results;
$db_connection->query( 'updatE accounts SET dispensered=1 WHERE 
id='.$test['id'].'' );

但这也没有用:(

解决方法:

PDO :: query —执行sql语句,将结果集作为PDOStatement对象返回.您试图在更新查询中以数组形式访问$results.因此,您会看到此错误.您需要在for循环中从$row捕获’id’值,然后运行更新查询.

大佬总结

以上是大佬教程为你收集整理的致命错误:未被捕获的错误:不能使用PDOStatement类型的对象作为数组全部内容,希望文章能够帮你解决致命错误:未被捕获的错误:不能使用PDOStatement类型的对象作为数组所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: