【发布时间】:2014-01-04 20:52:54
【问题描述】:
在我目前正在编写的这个新系统中(在学习 PHP 时),我一直在尝试使用准备好的语句,但找不到让我让这段代码工作的示例。在花了相当长的时间之后,我没有准备好语句就写了它(否则我仍然会卡住)。
但是,如果有人愿意告诉我如何使用准备好的语句来实现相同的功能,那就太好了。我正在为INSERTs 和UPDATEs 使用准备好的语句,但还没有设法让一个使用SELECT 工作。
这段代码是一个 AJAX 页面,用于根据页面上的选择填充下拉列表。
代码如下:
<?php
require_once('assets/includes/config.php');
if ((!isset($_GET['cat']) || !is_numeric($_GET['cat'])) && (!isset($_GET['subcat']) || !is_numeric($_GET['subcat'])))
$response = array('success' => FALSE);
else {
$conn = mysqli_connect($config["db"]["host"],$config["db"]["dbname"],$config["db"]["password"],$config["db"]["username"]);
$cat= mysqli_real_escape_string($conn, $_GET['cat']);
$subcat= mysqli_real_escape_string($conn, $_GET['subcat']);
$sql = "SELECT * FROM jf_data WHERE cat = $cat and subcat = $subcat;";
$result = mysqli_query($conn,$sql);
$options = "";
while($row = mysqli_fetch_array($result)) {
$options .= '<option value="'. $row['id'] .'">'. $row['data'].'</option>';
}
$response = array(
'success' => TRUE,
'options' => $options
);
}
header('Content-Type: application/json');
echo json_encode($response);
?>
【问题讨论】:
标签: php mysqli prepared-statement