php - PDO - 尝试显示数据库时解析错误

标签 php mysql pdo foreach

我正在使用 XAMPP 和 phpMyAdmin 创建本地数据库。这是我尝试显示一些表格的 PDO 代码

<?php
    $pdo = new PDO('mysql:host=localhost;dbname=puppies', 'admin','puppies');
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    try {        
        $result = $pdo->query('SELECT `puppy_name`, `breed_name`, `description`, `price` FROM `animals`, `breeds` WHERE `animals` . `breed_id` = `breeds` . `id`');
    } 
    catch (PDOException $e) {
        echo $e->getMessage();
    }
    foreach ($result as $puppy) {
        $puppy[`puppy_name`]
        $puppy[`breed_name`]
    }
?>

我不断收到此错误:

Parse error: syntax error, unexpected '$puppy' (T_VARIABLE) in /Applications/XAMPP/xamppfiles/htdocs/cs4ww3/invalid.php on line 12

我很确定我连接正确 - 如果我删除 foreach循环然后我得到一个空白屏幕,没有错误。

最佳答案

要获得有效的代码,您首先必须向循环中的每一行添加分号。每个语句都需要(应该)以分号结尾。

但看来你也想显示它们。为此,您需要回应它们: 在各行前面添加 echo 并用点将它们连接起来:

echo $puppy[...]." ".$puppy[...]."\r\n";

替换\r\n<br>如果你在浏览器中测试它。 \r\n是换行符

从评论中添加: 还要记住使用字符串来访问数组值。仅使用 ' 和 "来定义字符串常量。您已经使用了 `。正确的方法:

$puppy['constant'] 

关于php - PDO - 尝试显示数据库时解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40709930/

相关文章:

php - 两个特殊字符之间的正则表达式

php - 在这种情况下如何在悬停效果之间放置一个空格 css html php?

mysql - 在 MySQL 5.6.27 中创建触发器时出现奇怪的错误

mysql - 如何以正确的语法编写此查询?

mysql - 我们如何在 Laravel 中使用 3 个不同的数据库?

mysql - 我想知道 mysql pdo json 的良好语法

php - OOP 原则 - 如何构造类

javascript - GA 基础知识 – 基于动态 PHP 的网站中页面浏览量跟踪的最佳实践

php - 仅当用户名与创建条目 PDO 的用户相同时才更新表中的条目

php - 来自 Postgres SELECT SETOF 函数的重复记录