这里可能会走投无路。
在我看来,您没有为连接创建任何变量/数组,或者配置不正确。 (您的问题中发布的代码不足)。
来自PDO连接手册http://php.net/manual/en/pdo.connections.php
示例 #1 连接到 MySQL
<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
?>
示例 #2 处理连接错误
<?php
try {
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
foreach($dbh->query('SELECT * from FOO') as $row) {
print_r($row);
}
$dbh = null;
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
?>
另外,查看代码的“图像”,在我看来,您在列周围使用了常规引号,而不是刻度。它们完全是两种不同的动物。
INSERT INTO Students ('RIN', 'First Name', 'Last Name' ...
单词之间有空格,是的;必须使用刻度。
因此,您需要修改代码以读取为
INSERT INTO Students (`RIN`, `First Name`, `Last Name` ...
并将引号更改为上述所有其他列名称的刻度。我不打算在这里输入所有内容。
您还需要检查 DSN 中是否存在异常错误。使用你现在拥有的还不够。
示例#1 创建一个 PDO 实例并设置错误模式
<?php
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
try {
$dbh = new PDO($dsn, $user, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
?>
- 确保您选择(并创建)了正确的数据库/表,并且您确实创建了所有这些列并使用了正确的类型和长度。
如果您收到 MySQL 可能会抱怨的错误(例如撇号),那么您将需要转义您的数据;无论如何你都应该做的事情。
请参阅以下内容,并使用准备好的语句: