我创建了第一个将数据发送到数据库的ajax脚本。但是有一个问题,新创建的行中有0个值。在Firebug中,我可以看到php文件中有这些值。
Parametersapplication/x-www-form-urlencodedDo not sort
currentTasken
1415
currentUser
37
Source
currentUser=37¤tTasken=1415
但不知怎的,他们无法访问数据库,这是我的php文件。
<?php
$currentUser = isset($_POST['$currentUser']);
$currentTasken = isset($_POST['$currentTasken']);
$con = mysql_connect("localhost", "root", "") or die(mysql_error());
if(!$con)
die('Could not connectzzz: ' . mysql_error());
mysql_select_db("foxi" , $con) or die ("could not load the database" . mysql_error());
$check = mysql_query("SELECT * FROM dotp_task_log");
$numrows = mysql_num_rows($check);
if($numrows >= 1)
{
//$pass = md5($pass);
$ins = mysql_query("INSERT INTO dotp_task_log (task_log_creator, task_log_Task) VALUES ('$currentUser' , '$currentTasken')" ) ;
if($ins)
die("Succesfully Created Log!");
else
die("ERROR");
}
else
{
die("Log already exists!");
}
?>
这是数据库
5 0 NULL NULL 0 0 NULL 0 0 NULL
答案 0 :(得分:7)
您的代码中有2个错误。
$currentUser = isset($_POST['$currentUser']);
1:我相信你错了,你的意思是:
$currentUser = isset($_POST['currentUser']);
2: isset
是一个函数,在定义和设置变量的情况下返回一个布尔值。所以$currentUser
变量现在保持布尔值(0或1),而不是发布数据的值。
你应该这样使用它:
$currentUser = isset($_POST['currentUser']) ? $_POST['currentUser'] : '';
这是if-else
条件的简短版本。
如果设置了$_POST['currentUser']
,变量$currentUser
应该保持其值,否则 - 它将有一个空字符串。
补充说明:
$_POST
数据。mysql_*
。请考虑使用mysqli
或PDO
。