将0值发送到数据库

时间:2015-06-24 10:26:31

标签: php mysql

我创建了第一个将数据发送到数据库的ajax脚本。但是有一个问题,新创建的行中有0个值。在Firebug中,我可以看到php文件中有这些值。

Parametersapplication/x-www-form-urlencodedDo not sort
currentTasken   
1415
currentUser 
37
Source
currentUser=37&currentTasken=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

1 个答案:

答案 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_*。请考虑使用mysqliPDO