插入语句不起作用,没有错误

时间:2015-04-07 18:08:20

标签: php mysql ajax insert

var lid = $('#lid').val();
$.ajax({
        type:"post",
        url:'../library/lib.php',
        data:'action=save_memo&lid'+lid,

        success:function(response){
            console.log(response);

        }

这是lib.php的内容

switch($action){
    case 'save_memo':
        save_memo($_POST['lid']);
        break;}

function save_memo($lid){
    $insert = "INSERT INTO tbl_memo (id) VALUES ('$lid')";

    if(mysql_query($insert) == false){
        $result = array("failed" => $insert)
    }else{
       $result = array("sucess" => $insert);
       echo json_encode($result);
    }

响应成功但它没有插入数据库中   请有人告诉我出了什么问题,提前谢谢

2 个答案:

答案 0 :(得分:2)

我相信你在jQuery调用中缺少一个=符号:

data:'action=save_memo&lid'+lid

应该是:

data:'action=save_memo&lid='+lid,

另外,请查看mysql_query manual page上的大红色警告:

  

警告

     

自PHP 5.5.0起,此扩展程序已弃用,将来将被删除。相反,应该使用MySQLi或PDO_MySQL扩展。另请参阅MySQL:选择API指南和相关的常见问题解答以获取更多信息。该功能的替代方案包括:

     
      
  • mysqli_query()
  •   
  • PDO ::查询()
  •   

答案 1 :(得分:0)

  1. 您要发布内容为action的变量save_memo+[lid]。因此,当您尝试检索$_POST['lid']时,您将save_memo#lid的任何值联系起来。
  2. 在尝试使用switch语句对其进行评估之前,您不会检索变量$action
  3. $lid不是使用AJAX请求发布的变量,$action是。