Php 为什么在使用pdo连接到数据库时显示错误?
我试着靠着PDO。这是我的示例代码Php 为什么在使用pdo连接到数据库时显示错误?,php,pdo,mysqli,Php,Pdo,Mysqli,我试着靠着PDO。这是我的示例代码 <?php $dbname = "procedure_testing"; $dbuser = "root"; $dbpass = "mypass"; $host="localhost"; try { $conn = new PDO('mysql:host=localhost;dbname=$dbname', $dbuser, $dbpass); $id=3; $stmt = $conn->prepare('SELECT
<?php
$dbname = "procedure_testing";
$dbuser = "root";
$dbpass = "mypass";
$host="localhost";
try {
$conn = new PDO('mysql:host=localhost;dbname=$dbname', $dbuser, $dbpass);
$id=3;
$stmt = $conn->prepare('SELECT * FROM salary WHERE empid = :empid');
$stmt->execute(array('empid' => $id));
$result = $stmt->fetchAll();
if ( count($result) ) {
foreach($result as $row) {
print_r($row);
}
} else {
echo "No rows returned.";
}
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
?>
但我得到了以下错误:
分析错误:语法错误,第10行的C:\xampp\htdocs\pdo_example\select.php中出现意外的T_变量
我不知道是什么问题。有人能帮我检查一下代码吗?你快到了,忘了:
另外,在创建PDO对象时使用单引号,则变量的分析不正确。将其更改为双引号或转义变量。根据您的答案,我在empid前面使用了:并使用了双引号。但仍然面临同样的问题。
$stmt = $conn->prepare('SELECT * FROM salary WHERE empid = :empid');
$stmt->execute(array(':empid' => $id)); //notice : in front of empid.