[英]PHP MySQLi Query returning null with valid syntax
好吧
我一直在嘗試為wxPanel創建一個票務系統,以便為該應用程序提供基本支持。 盡管我很容易用提供的代碼來記錄數據庫:
PHP:
if (isset($_POST['submit'])) {
$subject = $_POST['subject'];
$message = $_POST['message'];
$date = date('D M H:i');
$subject = mysqli_real_escape_string($subject);
$message = mysqli_real_escape_string($message);
$ticket_id = 'TICK_'.rand(00000,99999);
if (strlen($subject) === 0) {
echo "Subject Invalid.";
} elseif (strlen($message) === 0) {
echo "Message Invalid.";
} else {
mysqli_query("INSERT INTO tickets VALUES(
NULL,
'".$ticket_id."',
'".$_SESSION['user']."',
'".$subject."',
'1',
'".$date."',
'".$message."'
)");
}
header('Location: /view-ticket?identifier='.$ticket_id);
}
可以正常工作...然后是此操作,可以讀取票證記錄並逐個顯示標題:
PHP:
$query = mysqli_query("SELECT `subject`,`ticket_id` FROM tickets WHERE `username` = '".$_SESSION['user']."'");
while ($row = mysqli_fetch_assoc($query)) {
$tickets = $row['subject'];
$id = $row['ticket_id'];
}
foreach ($tickets as $ticket) {
echo '
<a href="view-ticket?identifier='.$id.'"><h2>'.$ticket.'</h2></a>
';
}
這總是返回NULL。 而且,這些都不起作用:
if (isset($_GET['identifier']) === false || empty($_GET['identifier']) === true) {
header('Location: /tickets');
exit();
}
$id = mysqli_real_escape_string($_GET['identifier']);
$query = mysqli_query("SELECT `ticket_id`,`message`,`timestamp`,`status` FROM tickets WHERE `ticket_id` = '".$id."'");
while($row = mysqli_fetch_assoc($query)) {
$ticket_id = $row['ticket_id'];
$message = $row['message'];
$timestamp = $row['timestamp'];
$status = $row['status'];
}
foreach($message as $msg) {
echo '
<div class="ticket-message">
<h2>'.$message.'</h2>
</div>';
}
先感謝您!
ps我的某些代碼可能很亂。 忠告總是感激:)
一旦SELECT查詢開始工作,您還必須查看處理結果的代碼。
如果ticket_id標識唯一行
$query = mysqli_query($con, "SELECT ticket_id,message,timestamp,status
FROM tickets WHERE ticket_id = '$id'");
$row = mysqli_fetch_assoc($query);
$ticket_id = $row['ticket_id'];
$message = $row['message'];
$timestamp = $row['timestamp'];
$status = $row['status'];
echo '<div class="ticket-message"><h2>'.$message.'</h2></div>';
如果ticket_id不能標識唯一行
$query = mysqli_query($con, "SELECT ticket_id,message,timestamp,status
FROM tickets WHERE ticket_id = '$id'");
// initialise the arrays that hold multiple row results
$ticket_id[] = array();
$message[] = array();
$timestamp[] = array();
$status[] = array();
while($row = mysqli_fetch_assoc($query)) {
$ticket_id[] = $row['ticket_id'];
$message[] = $row['message'];
$timestamp[] = $row['timestamp'];
$status[] = $row['status'];
}
foreach($message as $msg) {
echo '<div class="ticket-message"><h2>'.$msg.'</h2></div>';
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.