簡體   English   中英

這個mysqli查詢怎么了?

[英]What's wrong with this mysqli query?

我正在嘗試找出下面的mysqli代碼出了什么問題。 該數據肯定在表中。 我有兩個問題:

  1. 為什么這沒有給我任何結果?
  2. 我可以在單獨的php文件中包含echo <table></table>部分,如果是的話,我將如何調用$name,$partner,$cell等?

      <?php $mysqli = new mysqli($host, $uname, $pword, $db); if ($mysqli->connect_errno) { echo "Connection failed: %s\\n", $mysqli->connect_error; exit(); } $query = ("SELECT * FROM contacts WHERE contacttype IN ('Buyer','Seller','Buyer / Seller','Investor') AND leadstatus = 'New' ORDER BY date DESC"); $result = $mysqli->query($query); while ($row = $result->fetch_array()) { $space = (!empty($row['firstname']) && !empty($row['lastname'])) ? ' ' : ''; $name = $row['firstname'].$space.$row['lastname']; $partner = $row['spousefirst']; $cell = (!empty($row['phonecell'])) ? " {$row['phonecell']} (cell)" : ''; $email = (!empty($row['email'])) ? " {$row['email']} (email)" : ''; $ID = $row['ID']; echo'<table> <tbody> <tr> <td><input type="checkbox" name="" id="" value="<? echo $ID; ?>"></td> <td><a href="/backend/leads/view/?ID=<? echo $ID; ?> "><strong><? echo $name; ?></strong></a></td> <td><a href="/backend/leads/view/?ID=<? echo $ID; ?> "><? echo $partner; ?></a></td> <td><? echo $phonecell; ?></td> <td><a href="mailto:<? echo $email; ?>"><? echo $email; ?></a></td> <td><? echo date("M jS, g:i A", strtotime($date)); ?></td> <td><? echo $contacttype; ?></td> <td><? echo $agentassigned; ?></td> <td><? echo $leadstatus; ?></td> <td><a href="/backend/contacts/notes.php?ID=<? echo $ID; ?>">View </a>+ </td> <td><a href="/backend/contacts/todo.php?ID=<? echo $ID; ?>">View </a>+ </td> <td><a href="/backend/contacts/deletesuccess.php?ID=<? echo $ID; ?>">D</a></td> </tr> </tbody> </table>'; } ?> 

編輯:

它顯示的是<table>但沒有給我$ name,$ email ... ect的值。

該查詢看起來很穩定,其余代碼也一樣。 以下是一些故障排除步驟,可以嘗試:

  1. echo $query並直接對您的數據庫運行它。 你有結果嗎? 如果您沒有從直接查詢中得到任何結果,則意味着查詢返回0行,並且您的表也將最終為空。
  2. 執行var_dump($result)以驗證其中是否存儲了信息。 您還可以添加更改$result = $mysqli->query($query); $result = $mysqli->query($query) or die $mysqli->error;

這兩個步驟的結果應該使您對哪里出錯了有個好主意。 通常,您希望停止查詢過程的每個部分,並查看涉及的每個變量,以確保它在其中存儲了您期望的數據。

要回答您的第二個問題:是的,您可以。 如果將表的代碼放在單獨的文件中,然后對其進行include() ,則變量仍可用於所包含的代碼。

請參閱include()上的PHP手冊

最終的回聲看起來構造不好。 我寧願使用級聯字符串來輸出變量,就像這樣(我僅以幾行為例):

echo'<table>
<tbody>
   <tr>
     <td><input type="checkbox" name="" id="" value="'. $ID .'"></td>
     <td><a href="/backend/leads/view/?ID='. $ID .'"><strong>'. $name.' </strong></a></td> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM