[英]I can't get data from a table using 'fetch(PDO::FETCH_ASSOC)'
Why does fetch (PDO::FETCH_ASSOC)
not work properly? 为什么fetch (PDO::FETCH_ASSOC)
无法正常工作? How can I get the data I want from the table without a foreach
loop? 如何在没有foreach
循环的情况下从表中获取所需数据? I have used the $statement
variable before to prepare/execute another query. 我已经使用$statement
变量准备/执行另一个查询。 Could this be the problem? 这可能是问题吗?
try
{
$database = new PDO ('mysql:host=localhost;dbname=youdonotneedtoknow;charset=utf8', 'youdonotneedtoknow', 'youdonotneedtoknow');
$database -> setAttribute (PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$database -> setAttribute (PDO::ATTR_EMULATE_PREPARES, true);
//Read
$statement = $database -> prepare ('SELECT * FROM edit');
$statement -> execute ();
while ($row = $statement -> fetch (PDO::FETCH_ASSOC))
{
$windowTitle = $row ['windowTitle'];
$bodyBackgroundColour = $row ['bodyBackgroundColour'];
$divisionBackgroundColour = $row ['divisionBackgroundColour'];
}
}
catch (PDOException $exception)
{
die ('Error: ' . $exception -> getMessage () . '<br><br>' . 'Por favor diríjase a "index.php" en este mismo directorio y contacte a su administrador.');
}
Do this: 做这个:
while ($row = $statement -> fetch (PDO::FETCH_ASSOC))
{
switch ($row['id']) {
case 'windowTitle':
$windowTitle = $row ['value'];
break;
case 'bodyBackgroundColour':
$bodyBackgroundColour = $row['value'];
break;
case 'divisionBackgroundColour':
$divisionBackgroundColour = $row['value'];
break;
}
}
You could also use variable variables: 您还可以使用变量变量:
while ($row = $statement -> fetch (PDO::FETCH_ASSOC))
{
${$row['id']} = $row['value'];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.