在php中传递变量
变量$q=$\u GET[“q”];将值“q”正确传递给$query并回显$row['YEAR'] 但是,它不能在同一代码中使用while语句在php中传递变量,php,mysql,Php,Mysql,变量$q=$\u GET[“q”];将值“q”正确传递给$query并回显$row['YEAR'] 但是,它不能在同一代码中使用while语句 while ($rows = $result2->fetch_array()) { $row0 [] = $rows['YEAR']; $row1 [] = $rows['MONTH']; $row2 [] = $rows['SALES']; } 如果我尝试在$u GET之后直接键入值,它就可以工作($
while ($rows = $result2->fetch_array())
{
$row0 [] = $rows['YEAR'];
$row1 [] = $rows['MONTH'];
$row2 [] = $rows['SALES'];
}
如果我尝试在$u GET之后直接键入值,它就可以工作($q=2013;例如)
谁能给我一个帮助,让while使用$q=$\u 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();
?>
$q=$\u GET[“q”]如果您不必使用method='get'
提交表单,或者页面的URL不包含带有?q=2013
的查询字符串,如www.example.com?q=2013
$q=$\u get[“q”]如果您没有提交带有method='get'
的表单,或者页面的URL不包含带有?q=2013
的查询字符串,则code>将返回null,如www.example.com?q=2013
使用mysqli发出警告并不意味着您可以避免sql注入。您的代码容易受到sql注入的攻击。。您需要正确地转义请求。。。因此,要么使用mysqli\u real\u escape\u string,要么使用更好的语句使用mysqli警告并不意味着您可以安全地避免sql注入您的代码容易受到sql注入的攻击。。您需要正确地转义请求。。。因此,要么使用mysqli_real_escape_string,要么使用更好的语句。我正在使用选择器框和AJAX将值发送到$q=$\u GET[“q”];但是,它不适用于while语句。如果我直接键入值,例如$q=$\u GET[“q”];相反,我做的是$q=2013;我使用选择器框和AJAX将值发送到$q=$\u GET[“q”];但是,它不适用于while语句。如果我直接键入值,例如$q=$\u GET[“q”];相反,我做的是$q=2013;它确实有效。