.我不知道是语法问题还是什么。我尝试了多种方法,这是我认为最简单的方法。
我使用以下方式向 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);
?>
我从 phpMyAdmin 手动向表中添加了 2 条记录,我可以很好地显示或更新它们,但添加新记录不起作用。我只是想在每次从另一个程序调用链接时开始一个新记录,并存储 mac 地址、日期、adNum 和播放点击。
EDIT2::echo $query;对于
http://simplehotkey.com/adverts/userStats.php?name=001EC946C2F4&adNum=1&playClick=1
输出:
INSERT INTO playerData(mac,date,AdClick,PlayNum) VALUES ('001EC946C2F4', '26/07/2012','1','1')
这就是我想要的,只是不将其添加到数据库中。
最佳答案
正确的语法是--
mysql_select_db("databaseName", $db);
如果你对连接错误使用这样的东西会更好——
$db_selected= mysql_select_db("databaseName", $db);
if (!$db_selected)
{
die ("Can\'t use test_db : " . mysql_error());
}
编辑
你写错了:(
$query = mysql_query("INSERT INTO playerData VALUES ('$name', '$date','$adClick','$playN')");
$result = mysql_query($query) <--------------WRONG
试试这样的东西----
$query = "INSERT INTO playerData(CORRECT_COL_NAMES) VALUES ('$name', '$date','$adClick','$playN')";
$results = mysql_query($query, $connection);
新编辑
错误区域---- 错误的DATATYPE
','1','1' <--- 这是作为字符串传递的,而您在数据库结构中将其作为 int ..现在运行相同的查询来找出错误..你也可以弄清楚使用 $result = mysql_query($query) or die(mysql_error());
关于php插入mysql不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11681525/