我连接数据库,一切正确,我做选择,一切都正确。但问题来自于我试图获取所有行。我尝试了所有mysql_fetch ...(array,assoc ...)
$registros = mysql_query("SELECT * FROM 22bf654e4dfa688d0ec6add2f6f7bf76", $con);
$reg = mysql_fetch_array($registros);
if( ($reg)
{
echo $reg;
}
答案 0 :(得分:4)
请注意,{@ 1}}库已被弃用,您应该使用PDO或MySQLi。
使用PDO,您的代码如下所示:
mysql_
您需要迭代结果,这会将所有数据存储到数组<?php
// Your database info
$db_host = '';
$db_user = '';
$db_pass = '';
$db_name = '';
$con = new PDO("mysql:host={$db_host};dbname={$db_name}", $db_user, $db_pass);
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM 22bf654e4dfa688d0ec6add2f6f7bf76";
$result = $con->prepare($sql);
$result->execute();
$reg = $result->fetchALL(PDO::FETCH_ASSOC);
$con = NULL;
print_r($reg);
// To show just one row you can use:
print_r($reg[0]);
// So let's say you have a field called "name", then u could use:
echo $reg[0]['name'];
中:
$reg
答案 1 :(得分:1)
您应该使用mysqli
代替mysql
,但这是另一个答案。
while($row = mysql_fetch_array($result)) {
echo $row['column-name-here'];
}
这会遍历查询中的所有结果。如果您只有1个结果,它将只显示1.如果您只想要1个结果,那么在您的查询中指定您想要的结果
SELECT * FROM table WHERE something = something;
答案 2 :(得分:0)
$ reg是所有行的数组;你想使用foreach迭代它,然后在每次迭代时使用print_r而不是echo,因为那将是该行的列数组
如果你只想要第一行,
print_r($reg[0])
但最好还是在查询或限制语句中使用where子句以获得更好的性能。不要返回超出您需要的数据。