如何检索多行数据?目前我只能检索一行数据,但我想检索多行数据。
我想检索用户在数据库中拥有的优惠券。例如,用户的“名称”是标记,我想检索“名称”列标记的每一行。
// check for post data
if (isset($_GET["name"])) {
$name = $_GET['name'];
$result = mysql_query("SELECT * FROM coupons WHERE name = '$name'");
if (!empty($result)) {
// check for empty result
if (mysql_num_rows($result) > 0) {
$result = mysql_fetch_array($result);
$coupons = array();
$coupons["couponcreated"] = $result["couponcreated"];
$coupons["couponexpires"] = $result["couponexpires"];
$coupons["coupondetails"] = $result["coupondetails"];
// success
$response["success"] = 1;
// user node
$response["coupons"] = array();
array_push($response["coupons"], $coupons);
// echoing JSON response
echo json_encode($response);
答案 0 :(得分:2)
// check for post data
if (isset($_GET["name"])) {
$name = $_GET['name'];
$queryResult = mysql_query("SELECT * FROM coupons WHERE name = '$name'");
if (!empty($result)) {
// check for empty result
if (mysql_num_rows($result) > 0) {
$result = array();
while($row = mysql_fetch_array($queryResult)){
array_push($row, $result);
}
//Now result array has all the rows!
$coupons = array();
$coupons["couponcreated"] = $result["couponcreated"];
$coupons["couponexpires"] = $result["couponexpires"];
$coupons["coupondetails"] = $result["coupondetails"];
// success
$response["success"] = 1;
// user node
$response["coupons"] = array();
array_push($response["coupons"], $coupons);
// echoing JSON response
echo json_encode($response);
此外,您必须保护您的$name
变量并清除其中的任何顽皮字符串,以便没有人可以通过SQL注入攻击窃取您的SQL数据或注入数据。
这是一个例子,虽然它并不完美:
$name = htmlspecialchars($name);
使用str_replace或您知道的任何字符串操作函数从$name
过滤任何SQL命令。