.post javascript with PHP启用select语句返回

时间:2015-01-07 16:38:43

标签: javascript php mysql

.post javascript with PHP启用select语句返回

好的,我的脚本正常运行

$.post('2.php', { id: 12345 }, function(data) {
    // Increment vote count, etc
});

这就是我的2.php看起来像

$data = $_POST['id'];

$file = fopen("test.txt","w");
echo fwrite($file, $data);
fclose($file);

所以我做了一个测试,运行1.php并看到test.txt是用数据创建的。

这证明了连接是成功的。

现在是困难的部分。

我需要发送id:12345到2.php,而2.php需要

"select * from account where account_id='$data'";

然后返回结果,我想到使用MYSQL_ASSOC或MYSQL_BOTH 我不确定哪个最好。

然后得到结果,无论是1行结果还是多行结果。

以数组形式返回,然后使用1.php执行

alert( ArrayReturnResult );

假设我的帐户表具有此值

account_id, account_name, account_phone, account_email

我如何做到这一点?

1 个答案:

答案 0 :(得分:3)

假设您知道如何建立数据库连接(当然使用PDO),您可以在2.php中执行类似的操作:

if(!empty($_POST)) {
  $data = (int) $_POST['id'];

  // query the table
  $stmt = $pdo->prepare("SELECT * FROM account WHERE account_id = :id");
  $stmt->bindValue(":id", $data, PDO::PARAM_INT);
  $stmt->execute();

  // fetch results
  $buffer = array();
  while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    $buffer[] = $row;
  }

  // output JSON string
  echo json_encode($buffer);
}

当然,这没有经过测试......如果处理个人信息,可能不安全。

不要忘记更新$.post方法,以便它可以预期JSON编码的数据:

$.post('2.php', { id: 12345 }, function(data) {
   console.log(data); // this will now be a JS object, from 2.php
}, 'json');