PDO - 尝试显示数据库时的Parse错误

时间:2016-11-20 22:06:37

标签: 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`]
    }
?>

我一直收到这个错误:

  

解析错误:语法错误,意外&#39; $ puppy&#39;第12行/Applications/XAMPP/xamppfiles/htdocs/cs4ww3/invalid.php中的(T_VARIABLE)

我非常确定我正确连接 - 如果我删除了foreach循环,那么我会得到一个没有错误的空白屏幕。

1 个答案:

答案 0 :(得分:1)

要获得有效代码,首先必须在循环中的每一行添加半冒号。每个陈述都需要(应该)以半冒号结束。

但似乎你也想要展示它们。为此你需要回应它们: 在线前添加回声并用点连接:

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

如果您在浏览器中对其进行测试,请将\r\n替换为<br>\r\n是新的行符号

从评论中添加: 还记得使用字符串来访问数组值。只有'和'用于定义字符串常量。你使用了`。正确方法:

$puppy['constant']