使用SELECT和WHERE子句从数据库中获取数据

时间:2016-03-09 21:51:46

标签: php mysql angularjs select

我有两个文件:test.html和test.php

在html文件中我有一个链接,当点击链接时,它会将参数传递给angular控制器,该控制器包含一个函数,该函数将使用$ http.post将变量发布到test.php文件

在我的php文件中,我收到了值,我需要根据这个值执行数据库语句。

当我使用insert语句时,它工作正常:

$my = json_decode(file_get_contents("php://input"));
$id = $my->id;

require 'database.php';
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO `my_database`.`persons` ( `person_id`   ) VALUES(?)";
$q = $pdo->prepare($sql);
$q->execute(array($id));

成功添加到数据库的值。

但是当我使用这样的SELECT语句时:

$my = json_decode(file_get_contents("php://input"));
$id = $my->id;

require 'database.php';
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM persons where person_id = ?";
$q = $pdo->prepare($sql);
$q->execute(array($id));
$data[] = $q->fetch(PDO::FETCH_ASSOC);
print json_encode($data);

查询结果为:[false]

请注意,当我手动定义person_id的值时,select语句将工作并返回值。

我的意思如下:

$q->execute(array("17"));

任何解决方案?

0 个答案:

没有答案