dousuitang5239 2014-09-16 16:00
浏览 99
已采纳

PHP SQL查询服务器错误

I have a table as so:

  TABLE click_count
   (
   count int(3)
   );

which is currently an arbitrary number. I have this php script with an html button which should just increment the number by one. The SQL query works in php my admin but gets an error when it's ran on the page.

<?php

require("config.inc.php");

if(!empty($_POST)){

$query = "UPDATE click_count 
  SET count = count + :submit_1
  ";


    $query_params_ = array(
'submit_1' => $_POST['count']
);

try {
    // These two statements run the query against your database table. 
    $stmt   = $db->prepare($query);
    $result = $stmt->execute($query_params);
    }

 catch (PDOException $ex) {
    $response["message"] = "Database Error. Please Try Again!";
    die(json_encode($response));
    }

    $response["message"] = "Vote Cast!";
    echo json_encode($response);



} else {
?>    
<form action="vote.php" method="post"> 
Count:<br /> 
<input type="number" name="submit_1" value="1" /> 
<br /><br /> 

<input type="submit" value="Cast Vote" /> 
</form>

<?php
}

?>
  • 写回答

2条回答 默认 最新

  • duanlun2827 2014-09-16 16:07
    关注

    You have to change your array key to match the one in preparedStatement. Like this:

    $query_params_ = array(':submit_1' => $_POST['count']);
    

    Indeed, you are refering to $query_params in the execute() method, but you are defining $query_params_ (with underscore in the end).

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示
  • ¥15 扫描项目中发现AndroidOS.Agent、Android/SmsThief.LI!tr
  • ¥15 怀疑手机被监控,请问怎么解决和防止
  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译