我遇到了
MySQL 5.5.24和
PHP 5.4.3的问题.我有以下HTML / PHP代码:
function connect() {
$con = mysql_connect( "127.0.0.1", "root", "" );
if ( !$con ) {
die( "Could not connect: " . mysql_error() );
}
mysql_select_db( "game" );
}
function protect( $string ) {
return mysql_real_escape_string( strip_tags( addslashes( $string ) ) );
}
if ( isset( $_POST[ 'register' ] ) ) {
connect();
$username = protect( $_POST[ 'username' ] );
$register = mysql_query( "SELECT 'id' FROM 'user' WHERE 'username'='$username'" ) or die( mysql_error() );
if ( mysql_num_rows( $register ) > 0 ) {
echo "That username is already in use!";
} else {
$ins = mysql_query( "INSERT INTO 'user' ('username') VALUES ('$username')" ) or die( mysql_error() );
echo "You have registered!";
}
}
?>
Username:
无论我输入什么,MySQL总会返回
"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''user' WHERE 'username'='XXX'' at line 1"
我用phpmyadmin检查了这些查询,它们工作得很好!也没有连接问题.我甚至尝试了简单的“SELECT * FROM’user’”,结果相同.我只是没有得到任何响应,只是提到错误的SQL语法错误.
现在我检查了大量具有相同错误的文章,并且在每种情况下问题都是使用了PHP关键字或丢失/错误拼写变量名称和那种类型.我现在检查了我的陈述一百次,我找不到任何错误.我对PHP很陌生,所以也许我想念一些东西……
我最近的一个实验是改变数据库和存储引擎的整理,也没有结果……
希望你们看到我不能做到的! 🙂
顺便说一下,我正在运行Windows 7和WAMP 2.2.