Mysql_query不起作用

时间:2012-10-09 00:04:58

标签: php mysql ajax apache

对我来说这是一个严重的问题。我刚刚开始使用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

2 个答案:

答案 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);

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