-2
我試圖得到一個PHP腳本,它使生產誤差但是工作「mysqli_error()期望的是1個參數,給出0」mysqli_error()使用可變
目的,期望的是1個參數,0給PHP這個代碼是打印出其工作人員處理給定的輸入員工ID
的誤差似乎是從代碼的下面SNIPPIT衍生訂單的表,但我可能是錯的。當我將$ staff更改爲不同的參數時,它將清除ORDER BY語句。
$sql = "SELECT orderID, orderDate, shippingDate, staffName FROM purchase
INNER JOIN staff ON purchase.staffID = customer.staffID WHERE staffID =
'$staff' ORDER BY orderDate";
我已經給出了代碼的完整副本低於
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Prac 2 Task 4</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<?php
$staff = $_GET["staffID"];
$conn = mysqli_connect('localhost', 'somelocation', 'somepassword', 'somedatabase');
if (!$conn){
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT orderID, orderDate, shippingDate, staffName FROM purchase INNER JOIN staff ON purchase.staffID = customer.staffID WHERE staffID = '$staff' ORDER BY orderDate";
$results = mysqli_query($conn, $sql)
or die ('problem with query' . mysqli_error());
?>
<h1>staff order</h1>
<table>
<tr>
<th>Order ID</th>
<th>Order Date</th>
<th>Shipping Date</th>
<th>Staff member </th>
</tr>
<?php
while ($row = mysqli_fetch_array($results)) {
?>
<tr>
<td><?php echo $row["orderID"] ?></td>
<td><?php echo $row["orderDate"] ?></td>
<td><?php echo $row["shippingDate"] ?></td>
<td><?php echo $row["staffName"] ?></td>
</tr>
<?php }
mysqli_close($conn); ?>
</table>
</body>
</html>
使用準備好的聲明。 – mickmackusa
@mickmackusa爲什麼?他正在爲這個計劃尋求解決方案,並且你指他改變方式。爲什麼? –
@DavinderKumar我的評論是最佳做法建議,從問題的尋求結果分開,這就是爲什麼我沒有張貼作爲一個答案。他直接在查詢中使用'$ _GET'數據 - 這不是簡單的。 – mickmackusa