我正在尝试将查询结果转换为数组。
转这个
$result = mysql_query("SELECT * FROM WHATEVER");
进入
$result = array('id' => 1, 'name' => 'bob');
但我不想print_r()
,我想回显 php 可执行代码。
谢谢!
我正在尝试将查询结果转换为数组。
转这个
$result = mysql_query("SELECT * FROM WHATEVER");
进入
$result = array('id' => 1, 'name' => 'bob');
但我不想print_r()
,我想回显 php 可执行代码。
谢谢!
尝试:
$records = array();
$query = mysql_query("SELECT * FROM WHATEVER ");
while ($result = mysql_fetch_assoc($query)) {
$records[] = $result;
}
现在您可以$records
用作您的(可重复使用的)数组。
请不要mysql_*
在新代码中使用函数。它们不再被维护,并且已经开始弃用过程。看到红框了吗?改为了解准备好的语句,并使用PDO或MySQLi -本文将帮助您决定使用哪个。如果您选择 PDO,这里有一个很好的教程。
您可以使用 PDO 和PDOStatement::fetchAll()
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
$dbh = new PDO($dsn, $user, $password);
$sth = $dbh->prepare("SELECT * FROM WHATEVER");
$sth->execute();
$results = $sth->fetchAll(); // get all rows
var_dump($results);
//to get only first row:
$result = $results[0];
尝试:
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
printf("ID: %s Name: %s", $row["id"], $row["name"]); //or echo
}
简单的:
$result = mysql_query("SELECT * FROM WHATEVER ");
if($result)
{
$result = mysql_fetch_array($result,MYSQL_ASSOC);
/*
manipule $result according you need
*/
print_r($result);
}
else{
echo mysql_error();
}