1

这对我来说是一个严重的问题。我刚开始使用 AJAX 和 PHP,但我什至不能有一个好的开始。任何帮助是极大的赞赏。作为此代码的结果,我收到一个空白页,好像已执行查询,但数据库中没有更改。

<?php
$user = "login";
$pass = "password";
$con = mysql_connect("localhost","qwerty","qwerty");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("database_sky", $con);

mysql_query("INSERT INTO players (id, username, password) VALUES ('',$user, $pass)");

mysql_close($con);
?>

我不知道是怎么回事。我正在使用 Apache 2.2、PHP 5、MySql 4.1

4

2 回答 2

2

您的变量永远不会用单引号括起来(它们应该是字符串)。

尝试:

INSERT INTO players 
   (id, username, password)
    VALUES ('','$user', '$pass')

而您的原始代码是这样评估的:

INSERT INTO players (id, username, password) VALUES ('',John, pass)

这不起作用,因为您需要(很可能)输入字符串。你写john的,不是'john'

我建议做类似的事情$query = "INSERT INTO .......";

这样你就可以

a) echo $query;获取它输出的字符串并将其插入您的 PhpMyAdmin (或任何您用作数据库接口的东西。

b)然后你可以做mysql_query($query)。这使得组织更容易(在我看来,对我来说)。:)

于 2012-10-09T00:08:40.970 回答
-1

你需要传递$conmysql_query. 以下应该可以解决您的问题:

mysql_query("INSERT INTO players (id, username, password) VALUES ('','$user', '$pass')", $con);

编辑:在其他海报指出后发现另一个错误;缺少值周围的单引号。

于 2012-10-09T00:06:15.180 回答