php插入mysql不工作

php插入mysql不工作,php,mysql,Php,Mysql,.我不知道是语法还是什么。我尝试过多种方法,这是我认为最简单的方法 我使用以下方式将信息发送到userData.php: http://mydomain.com/adverts/userStats.php?name=001EC946C2F4&adNum=1&playClick=1 在userData.php上,我有: <?php $db = mysql_connect('localhost', 'username', 'password') or die('Co

.我不知道是语法还是什么。我尝试过多种方法,这是我认为最简单的方法

我使用以下方式将信息发送到userData.php:

http://mydomain.com/adverts/userStats.php?name=001EC946C2F4&adNum=1&playClick=1
在userData.php上,我有:

<?php 
    $db = mysql_connect('localhost', 'username', 'password') or die('Could not connect: ' . mysql_error()); 
   $db_selected =  mysql_select_db('databaseName', $db) or die('Could not select database');
if (!$db_selected)
  {
  die ("Can\'t use test_db : " . mysql_error());
  }

    $name = mysql_real_escape_string($_GET['name']); 
    $date = date("d/m/Y");
    $adClick = mysql_real_escape_string($_GET['adNum]);
    $playN = mysql_real_escape_string($_GET['playClick']);

$query = mysql_query("INSERT INTO playerData VALUES ('$name', '$date','$adClick','$playN')");
$result = mysql_query($query) or die('Query failed: ' . mysql_error())); 

mysql_close($db);
?>
输出:
将值('001EC946C2F4'、'26/07/2012'、'1'、'1')插入playerData(mac、日期、AdClick、PlayNum)中


这正是我想要的,只是没有将其添加到数据库中。

很容易看出这里的错误,尤其是语法高亮显示

$adClick = mysql_real_escape_string($_GET['adNum]);
此行缺少一个引号;应该是:

$adClick = mysql_real_escape_string($_GET['adNum']);
这是一个语法错误,会破坏其他一切

更不用说您的数据库选择缺少数据库处理程序,即:

mysql_select_db('databasename',$db); 
正如@swapnesh所指出的

编辑

我无法重现你没有错误的样子,但我得到的都是错误。首先,在第12行,您有一个额外的选项:

$result = mysql_query($query) or die('Query failed: ' . mysql_error()));
应该是:

$result = mysql_query($query) or die('Query failed: ' . mysql_error());
最后,您实际上错误地执行了两次查询,因此第二次查询是空的。你所拥有的:

$query = mysql_query("INSERT INTO playerData VALUES ('$name', '$date','$adClick','$playN')");
$result = mysql_query($query) or die('Query failed: ' . mysql_error())); 
应改为:

$query = "INSERT INTO playerData VALUES ('$name', '$date','$adClick','$playN')";
$result = mysql_query($query) or die('Query failed: ' . mysql_error()); 

很容易看出这里的错误,尤其是语法突出显示

$adClick = mysql_real_escape_string($_GET['adNum]);
此行缺少一个引号;应该是:

$adClick = mysql_real_escape_string($_GET['adNum']);
这是一个语法错误,会破坏其他一切

更不用说您的数据库选择缺少数据库处理程序,即:

mysql_select_db('databasename',$db); 
正如@swapnesh所指出的

编辑

我无法重现你没有错误的样子,但我得到的都是错误。首先,在第12行,您有一个额外的选项:

$result = mysql_query($query) or die('Query failed: ' . mysql_error()));
应该是:

$result = mysql_query($query) or die('Query failed: ' . mysql_error());
最后,您实际上错误地执行了两次查询,因此第二次查询是空的。你所拥有的:

$query = mysql_query("INSERT INTO playerData VALUES ('$name', '$date','$adClick','$playN')");
$result = mysql_query($query) or die('Query failed: ' . mysql_error())); 
应改为:

$query = "INSERT INTO playerData VALUES ('$name', '$date','$adClick','$playN')";
$result = mysql_query($query) or die('Query failed: ' . mysql_error()); 
正确的语法是--

如果你用这样的方法来处理连接错误会更好--

编辑

你写错了:(

新编辑

错误区域----错误的
数据类型

“,”1“,”1“正确的语法是--

如果你用这样的方法来处理连接错误会更好--

编辑

你写错了:(

新编辑

错误区域----错误的
数据类型


“,”1“,”1“而不是像添加将显式接收条目的字段那样使用insert语句。数据库表可能有更多字段,insert语句不会显式说明哪些字段将接收数据

$query = mysql_query("INSERT INTO playerData (Name,Date,AdClick,PlayN) VALUES ('$name', '$date','$adClick','$playN')");

与使用insert语句的方式不同,您可以添加显式接收条目的字段。数据库表可能有更多字段,insert语句不会显式说明哪些字段将接收数据

$query = mysql_query("INSERT INTO playerData (Name,Date,AdClick,PlayN) VALUES ('$name', '$date','$adClick','$playN')");

这一行有语法错误

错误:

$adClick = mysql_real_escape_string($_GET['adNum]);
$adClick = mysql_real_escape_string($_GET['adNum']);
正确:

$adClick = mysql_real_escape_string($_GET['adNum]);
$adClick = mysql_real_escape_string($_GET['adNum']);

这一行有语法错误

错误:

$adClick = mysql_real_escape_string($_GET['adNum]);
$adClick = mysql_real_escape_string($_GET['adNum']);
正确:

$adClick = mysql_real_escape_string($_GET['adNum]);
$adClick = mysql_real_escape_string($_GET['adNum']);

啊,我从上面的答案中添加了连接参数,并添加了缺少的“但它仍然不工作”。@user1108224
它不工作
不幸的是,这不是一个问题描述;请也发布错误。哪里会出现错误?它没有抛出任何错误,所以它什么也不做。我正在发送游戏中的链接。我正在重试从表中删除记录并在游戏中显示。当我提交分数时,它不会显示在数据库中或显示在我的游戏统计数据中。phpmy display.php:显示我手动添加到数据库中的2条记录,我在游戏中使用它来显示统计数据,但是insert没有做任何事情。啊,我从e回答上面的问题,并添加了缺少的“但它仍然不起作用”。@user1108224
它不起作用
不幸的是,这不是一个问题描述;请也发布错误。哪里会出现错误?它没有抛出任何错误,所以它什么也不做。我正在发送游戏中的链接。我正在从表中检索记录并显示在游戏中。当我提交分数时,它不会显示在数据库中或显示在我的游戏统计数据中。phpmy display.php:显示我手动添加到数据库中的2条记录,我在游戏中使用它来显示统计数据,但insert没有做任何事情。可能是语法错误,如@Daedalus大厦。Ans Daedalus和Swapnesh两者都有你让我告诉你一件事,你是对的,我们必须通过DB处理程序,但没有DB处理程序也可以,即使他没有通过DB处理程序,它也会工作handler@HirenSoni如果我们按照程序将错误降至最低,那就更好了,因为我们没有进入他的系统,如果他运行的是php代码,而it系统上没有php,这可能是infi的一个案例,该怎么办nite错误可能性;)@swapnesh我完全同意你的看法,但就错误而言,这不是错误:)我使用的是bluehost。我可以通过控制面板手动将记录添加到phpMyAdmin中的数据库中。我正在从数据库中读取数据并将其输入到游戏中,但试图将游戏中的记录添加到mysql中不起作用。bluehost中会出现哪些php错误?@user1108224检查我新编辑的答案,然后让我知道可能存在语法错误@Daedalus大厦。Ans Daedalus和Swapnesh你们两个让我告诉你们一件事你们是对的我们必须通过DB处理程序,但没有DB处理程序也可以,即使他没有通过DB处理程序也可以handler@HirenSoni如果我们不进入他的系统,最好按照程序尽量减少错误,如果他运行的是php代码,而it系统上没有php,那该怎么办?因为这可能是一个无限错误可能性的例子;)@swapnesh我完全同意你的看法,但就错误而言,这不是错误:)我使用的是bluehost。我可以通过控制面板手动将记录添加到phpMyAdmin中的数据库中。我正在从数据库中读取数据并将其输入到我的游戏中,但是试图将游戏中的记录添加到mysql中是行不通的,php错误会出现在哪里呢