对我来说这是一个严重的问题。我刚刚开始使用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
答案 0 :(得分: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)
。这使得组织更容易(对我来说,在我看来)。
:)
答案 1 :(得分:-1)
您需要将$con
传递给mysql_query
。以下内容可以解决您的问题:
mysql_query("INSERT INTO players (id, username, password) VALUES ('','$user', '$pass')", $con);
编辑:在其他海报指出后发现另一个错误;缺少围绕值的单引号。