sql有什么问题?我不知道出了什么问题。它一直给我语法错误。
$dbh->exec ("CREATE TABLE 'test'
(col1 CHAR (64) PRIMARY KEY,
col2 CHAR (64),
col3 CHAR (64),
col4 CHAR (64))") or die (print_r ($dbh->errorInfo (), true));
我正在使用EasyPHP,只需安装它。我正在尝试使用上面的代码创建一个表。这是它返回的错误。我尝试多次纠正语法。老实说,我认为语法是正确的。是否与我的EasyPHP安装配置有关,例如mysql配置不正确。
数组([0] => 42000 [1] => 1064 [2] =>您的SQL语法出错;请查看与您的MySQL服务器版本对应的手册,以获取正确的语法靠近'在第1行)
编辑: 以下是我用来连接的代码:
function dbConnect ($dbname) {
$user = "root";
$pass = "";
$db = new PDO ("mysql:host=127.0.0.1;dbname=$dbname", $user, $pass);
if ($db) {
//echo "Connected to database." . "</br>";
}
return $db;
}
答案 0 :(得分:2)
表名不要在引号内,更改
CREATE TABLE 'test'
^ ^
要
CREATE TABLE `test` // don't even need back ticks usually
答案 1 :(得分:2)
将您的SQL更改为:
CREATE TABLE test
(col1 CHAR (64) PRIMARY KEY,
col2 CHAR (64),
col3 CHAR (64),
col4 CHAR (64))
尝试:
$dbh->exec ("CREATE TABLE test
(col1 CHAR (64) PRIMARY KEY,
col2 CHAR (64),
col3 CHAR (64),
col4 CHAR (64))") or die (print_r ($dbh->errorInfo (), true));