php - HTML(输入)->php->mysql->php->json->HTML 渲染

标签 php jquery html mysql ajax

问题描述:我想用 php 从 HTML 输入中获取值并在 mysql 数据库上运行查询:SELECT * FROM WHERE(值 = HTML 输入中 ID 的值)

我想做什么: 我写 HTML 输入:

  <input id="akt_djubrenje" type="text" value="1">

然后我写 PHP:

try {
      /* Establish the database connection */
      $conn = new PDO("mysql:host=localhost;dbname=$dbname", $username, $password);
      $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

     $result = $conn->query("SELECT * FROM akt_djubrenje WHERE ID_akt = :akt_djubrenje");
     $result->execute(array(':akt_djubrenje' => $_POST['akt_djubrenje']));
...
...
etc.

我还提供了输入字段的 php 文件数据,并使用 AJAX 调用 php 文件:

    function tabela() {

    $.ajax({
            url: 'getdjubrenje.php', // make this url point to the data file
            dataType: 'json',
            data:{akt_djubrenje:$("#akt_djubrenje").val()},
            async: false,
            success:function(json){
            var data = new google.visualization.DataTable(json);
            alert (json);
  // Create and draw the visualization.
  visualization = new google.visualization.Table(document.getElementById('tabela_djubrenje'));
  visualization.draw(data, {'allowHtml': true});
            }
        });
}

我的问题是HOW TO GET INPUT field VALUE from HTML and fetch with php/ajax

当我准确键入值等时,“1”而不是 $_POST ... 一切正常,所以问题出在这段代码上。 有人知道解决我的问题吗?

最佳答案

你的问题是你使用了PDO::query()然后尝试绑定(bind)变量。这就是 query() 的工作方式:

PDO::query() executes an SQL statement in a single function call, returning the result set (if any) returned by the statement as a PDOStatement object.

因此它会尝试立即执行查询,而不是等待您的 execute() 调用。这就是为什么您得到“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本对应的手册,了解在第 1 行 :akt_djubrenje 附近使用的正确语法。”。

你应该做的是使用 PDO::prepare()为了准备查询和绑定(bind)变量:

 $result = $conn->prepare("SELECT * FROM akt_djubrenje WHERE ID_akt = :akt_djubrenje");
 //               ^^^^^^
 $result->execute(array(':akt_djubrenje' => $_POST['akt_djubrenje']));

关于php - HTML(输入)->php->mysql->php->json->HTML 渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22130074/

相关文章:

php - 取决于选择列表的交互式表单不起作用

php - 如何在 PDO 中获取数据库名称?

javascript - Ajax/Javascript - 单击 1 个链接后删除链接

html - 我怎样才能确保两个 float 元素并排放置,即使它们的宽度都不够?

html - 如何防止 span 标签相互重叠?

php - 以编程方式更改状态后的 Woocommerce 产品变体 "disappear"

php - 有没有比事务更高效的方法?

javascript - 即javascript表单提交文件输入

javascript - jQuery Ajax 加载不工作

JQuery val() 返回空字符串