如何使用PHP代码从PHPMYADMIN获取多行

时间:2013-06-13 04:50:06

标签: php mysql

我在 PHPMYADMIN 中有多条记录,现在我正在尝试使用PHP代码获取这些记录,但我总是得到数组()1 每当我使用 Localhost 运行我的php脚本时,我在表格中有 5行

请参阅以下代码:

<?php
$objConnect = mysql_connect("localhost","root","");
$objDB = mysql_select_db("mydatabase");

$strMemberID = $_POST["sMemberID"];
$strSQL =  "SELECT * FROM order_details WHERE 
MemberID = '".mysql_real_escape_string($strMemberID)."' ORDER BY OrderID DESC ";

$objQuery = mysql_query($strSQL);


while($obResult = mysql_fetch_assoc($objQuery))
{
$arr = array();  
$arr["OrderID"] = $obResult["OrderID"];
$arr["ItemDetails"] = $obResult["ItemDetails"];
}
mysql_close($objConnect);   
echo print_r($arr); 
?>

2 个答案:

答案 0 :(得分:0)

在while循环中更改代码。

在循环外声明$ arr。声明内部循环数组将在初始化之前清除它。这就是为什么你在每次运行中得到一行。

$arr = array(); 
while($obResult = mysql_fetch_assoc($objQuery))
{
$arr["OrderID"] = $obResult["OrderID"];
$arr["ItemDetails"] = $obResult["ItemDetails"];
}

Also, to view array elements use echo json_encode($arr) or var_dump($arr) or print_r($arr);

它肯定会对你有用

答案 1 :(得分:0)

这不是您问题的直接答案,但在您尝试使用PDO和准备好的陈述时

$strMemberID = $_POST["sMemberID"];
$strSQL = 'SELECT * FROM order_details WHERE MemberID = ? ORDER BY OrderID DESC';
try {
    $db = new PDO('mysql:host=localhost;dbname=dbname;charset=UTF8', 'user', 'password');
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
    $query = $db->prepare($strSQL);
    $query->execute(array($strMemberID));
    $result = $query->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
    echo 'Exeption: ' .$e->getMessage();
    $result = false;
}
$query = null;
$db = null;
var_dump($result);

你可能会喜欢它。