我是MySQL和PHP写作方面的新手。我遇到的问题是在while行之前从特定的表中提取数据。我目前的代码是
$query_join_tables = "SELECT m.*, c.id, c.firstname, c.lastname,
IFNULL(m.system_customer,c.id) AS client_id
FROM ... AS m
LEFT
JOIN ... as c
ON m.system_customer = c.id
WHERE system_customer=".$clientid."
ORDER BY system_id ASC";
$result = mysql_query($query_join_tables);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
echo "BLA BLA BLA";
while($row = mysql_fetch_array($result)){
echo "MORE BLA BLA";问题是,当我试图在while线之前从表中拔出时,它不会拉。如果我在后面拉的话,效果会很好的。
不起作用:
echo ".$row['firstname'].";
while($row = mysql_fetch_array($result)){是否有效:
while($row = mysql_fetch_array($result)){
echo ".$row['firstname'].";另外,在提到mysqli或PDO之前-我做不到。我正在为加密和硬编码的东西编写一个模块。
发布于 2015-01-23 05:04:41
你会觉得很傻的。$row变量还没有被赋予获取的行。当线
$row = mysql_fetch_array($result)是运行的,即将一行的数据提供给$row。在此之前调用$row只会给出一个空值。
每当while循环再次启动时,它都会得到一个新行。这叫ITERATOR。它一次一行地向下移动,直到它运行而什么也找不到。这就是它退出循环的时候。
编辑(01/23/2015):现在我了解到您实际上希望有两个循环使用相同的结果。我将展示如何重置迭代器。
while($row = mysql_fetch_array($result)) {Do Stuff}
mysql_data_seek($result, 0);
while($row = mysql_fetch_array($result)) {Do Stuff}希望这能有所帮助。
发布于 2015-01-23 05:31:46
mysql扩展将被取消,并将在将来删除。使用mysqli。试试下面的代码。
$con = mysqli_connect("localhost","root","","dbname");
$query_join_tables = "SELECT m.*, c.id, c.firstname, c.lastname,
IFNULL(m.system_customer,c.id) AS client_id
FROM ... AS m
LEFT
JOIN ... as c
ON m.system_customer = c.id
WHERE system_customer=".$clientid."
ORDER BY system_id ASC";
$result = $con->query($query_join_tables);
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
echo $row["firstname"];
$conn->close();发布于 2015-01-23 05:47:33
好吧,试试这个。应该管用的。
mysql_connect("localhost", "root", "") or
die("Could not connect: " . mysql_error());
mysql_select_db("dbName");
$query_join_tables = "SELECT m.*, c.id, c.firstname, c.lastname,
IFNULL(m.system_customer,c.id) AS client_id
FROM ... AS m
LEFT
JOIN ... as c
ON m.system_customer = c.id
WHERE system_customer=".$clientid."
ORDER BY system_id ASC";
$result = mysql_query($query_join_tables);
$res = mysql_fetch_array($result);
echo $res['vBookName'];
mysql_free_result($result);https://stackoverflow.com/questions/28103309
复制相似问题