sql查询工作在phpmyadmin但不通过php中的mysql_query

时间:2011-06-24 16:04:56

标签: php sql phpmyadmin


首先,我是法国人,所以我希望我的问题可以理解; - )

我知道有些人在使用phpmyadmin的php中遇到过查询问题。问题是,每次(或那样)这些人都“回应”他们的查询并在phpmyadmin中复制/粘贴,但由于php并不总是显示空格,所以总是存在问题。

其实我的问题不同:
如果我使用查询

$sql = "SELECT * FROM jos_dtregister_invoice_sent"; 
$query = mysql_query($sql);
$result = mysql_fetch_array($query);

它返回phpmyadmin和我的php代码中的所有行,但如果我想查看不同的表(具有相同的结构),它只能在phpmyadmin中工作,而不是通过我的PHP代码(只有一行而不是所有行)他们)

以下是查询无效:

$sql = "SELECT * FROM jos_dtregister_receipt_sent";
$query = mysql_query($sql);
$result = mysql_fetch_array($query);

也许答案很简单,但我承认这对我来说有点棘手...... 非常感谢提前!

这是我的完整代码:

function sendReceipt($row) {

    $to = getUserInformation($row,10);
    $from = getEventAdminEmailFromEmail($row); 
    $subject = getEventTitle($row)." - Invoice #".$row["confirmNum"]; 

    $message = $row["userFirstName"]." ".$row["userLastName"]." \n\n".getMessageToSendUser($row); 
    $headers = "From: ".$from."\r\n";

    $sql1 = "SELECT * FROM `jos_dtregister_invoice_sent`";
    $query1 = mysql_query($sql1);
    echo 'Fetched rows number: '.mysql_num_rows($query1)."<br />";
    while($row1 = mysql_fetch_array($query1)) {
            echo "Invoice Sent: ".$row1["sent"]."<br />";
    }
    $sql2 = "SELECT * FROM `jos_dtregister_receipt_sent`";
    $query2 = mysql_query($sql2);
    echo 'Fetched rows number: '.mysql_num_rows($query2)."<br />";
    while($row2 = mysql_fetch_array($query2)) {
            echo "Receipt Sent: ".$row2["sent"]."<br />";
   }
}

4 个答案:

答案 0 :(得分:0)

mysql_fetch_array()只获取一行。该名称表明它将结果行作为数组提取

答案 1 :(得分:0)

$sql = "SELECT * FROM jos_dtregister_receipt_sent";
$query = mysql_query($sql) or die(mysql_error());
$result = mysql_fetch_array($query);

尝试执行此操作。 mysql_error()行将在尝试执行SQL时吐出完全错误的内容。将其发回此处,我们可以为您提供更多帮助。

答案 2 :(得分:0)

$sql = "SELECT * FROM jos_dtregister_receipt_sent";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)){
    // $row will have your data
}

答案 3 :(得分:0)

您需要使用mysql_fetch_array()循环结果。

while ($result = mysql_fetch_array($query)) {
  print_r($result);
}

或者,如果您希望将所有结果放在一个大数组中($ results):

$results = array();
while ($row = mysql_fetch_array($query)) {
   $results[] = $row;
}