變量$ q = $ _ GET [「q」];正確地將值「q」傳遞給$查詢並回顯$ row ['YEAR']。在php中傳遞變量
但是,它並不適用於同一代碼中的while語句。
while ($rows = $result2->fetch_array())
{
$row0 [] = $rows['YEAR'];
$row1 [] = $rows['MONTH'];
$row2 [] = $rows['SALES'];
}
,如果我嘗試直接鍵入值之後,$ _GET它的工作($ Q = 2013;例如)
誰能給我一個幫助,使與$的,同時工作Q = $ _GET [ 「q」];
波紋管是完整的代碼。
感謝所有幫助
<?php
$q=$_GET["q"];
$mysqli = new mysqli('localhost','user','pswd','database');
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT * FROM table_test WHERE `YEAR`='".$q."'";
$result = $mysqli->query($query);
if ($row = $result->fetch_array())
{
echo "<td>" . $row['YEAR'] . "</td>";
}
$result2 = $mysqli->query($query);
while ($rows = $result2->fetch_array())
{
$row0 [] = $rows['YEAR'];
$row1 [] = $rows['MONTH'];
$row2 [] = $rows['SALES'];
}
/* free result set */
$result->close();
$mysqli->close();
?>
___warning___使用mysqli並不意味着你是從sql注入安全的你的代碼很容易sql注入..你需要正確地轉義請求...所以要麼使用mysqli_real_escape_string或更好地準備語句 –