2014-01-05 49 views
-3

当我运行的代码块的所有我收到的是:MySQL语法错误 - 可能是什么错误? MySQL的/ PHP

您的SQL语法错误;检查对应于您的MySQL服务器版本的手册,以便在第2行附近使用正确的语法。

我尝试了许多不同的策略,不能上来将解决方案来解决这个错误。

<?php //setup.php 
include_once 'functions.php'; 

echo '<h1>Setting Up</h1>'; 

createTable('members', 'user VARCHAR(16), pass VARCHAR(16), 
     INDEX(user(6))'); 

createTable('messages', 
     'id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
     auth VARCHAR(16), recip VARCHAR(16), pm CHAR(1), 
     time INT UNSIGNED, message VARCHAR(4096), 
     INDEX(auth(6)), INDEX(recip(6))'); 

createTable('friends', 'user VARCHAR(16), friend VARCHAR(16), 
     INDEX(user(6)), INDEX(friend(6))'); 

createTable('profile', 'user VARCHAR(16), text VARCHAR(4096), 
     INDEX(user(6))'); 
?> 

功能为createTable

function createTable($name, $query) 
{ 
if (tableExists($name)) 
{ 
    echo "Table '$name' alreay exists<br>"; 
} 
else 
{ 
    queryMysql("CREATE TABLE $name($query"); 
    echo "Table '$name' has been created<br>"; 
} 
} 
+1

你能分享'createTable'的代码吗? – Mureinik

+2

'createTable()'做些什么?哪一个函数调用会引发这个错误? –

+0

检查'createTable()'函数的版本! –

回答

0

从下面的线,我发现你错过了$查询后关闭。修复后尝试。

queryMysql("CREATE TABLE $name($query"); 
+0

谢谢,我不知道我是如何看待这一点的。最简单的事情总是最难找到的。 –