[英]Fatal error: Uncaught Error: Cannot use object of type Entrada as array
[英]Fatal error: Uncaught Error: Cannot use object of type PDOStatement as array
我想要一个php脚本,它从我的db表中给我一个随机选择的行,并将“allocatesered”的值更改为1.我确定它有点愚蠢,但我是这个东西的新手。
这是我的代码:
<?php
$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">–' . $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.php:13 Stack trace: #0 {main} thrown
in C:\xampp\htdocs\test\index.php 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'值,然后在此之后运行更新查询。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.