Php 如何解决此错误?
请帮我解决这个问题:Php 如何解决此错误?,php,Php,请帮我解决这个问题: if($_POST["keyword"]) { $keyword = $_POST["keyword"]; $keyword = trim($keyword); $keyword_array = explode(" ",$keyword); $numberofwords = (integer)count($keyword_array); require("server.php"); $link = open_koneksi(); $tbl_name
if($_POST["keyword"]) {
$keyword = $_POST["keyword"];
$keyword = trim($keyword);
$keyword_array = explode(" ",$keyword);
$numberofwords = (integer)count($keyword_array);
require("server.php");
$link = open_koneksi();
$tbl_name = "author";
$query = "SELECT COUNT(*) as num FROM $tbl_name WHERE " ;
for ($x = 0; $x<= $numberofwords; $x++) {
$query .= "author LIKE '%$keyword_array[$x]%'";
if ( $x < $numberofwords ) {
$query .= " AND ";
}
}
echo("<SCRIPT>document.location.href='?p=result';</SCRIPT>");
故障位置请参阅此代码:
$query .= "author LIKE '%$keyword_array[$x]%'";
如何解决此问题?您的问题可能是:
for ($x = 0; $x<= $numberofwords; $x++) {
##
更好的是,只需使用:
隐式计算$x
中的索引。您可能仍然需要更改
和填充符的上次输入检测。(通常先创建一个子字符串数组,然后使用填充符和“
”进行内爆()
)
YadaYada:还要注意未过滤的输入。对文本字符串使用数据库转义函数。但是,使用PDO和准备好的语句更容易。您的问题可能是:
for ($x = 0; $x<= $numberofwords; $x++) {
##
更好的是,只需使用:
隐式计算$x
中的索引。
您可能仍然需要更改和填充符的上次输入检测。(通常先创建一个子字符串数组,然后使用填充符和“
”进行内爆()
)
YadaYada:还要注意未过滤的输入。对文本字符串使用数据库转义函数。但是,使用PDO和预处理语句更容易。原因是$keyword\u数组
数组没有$x
键。原因是$keyword\u数组
数组没有$x
键。事实证明,要克服这个问题,只有一个字:
error_reporting(0);
问题是,通知是否包含在错误中?事实证明,要克服这个问题,只有一个词:
error_reporting(0);
问题是,通知是否包含在错误中?谢谢Mario。。在我尝试遵循您的建议后,下一个错误消息是:注意:未定义变量:numberofwords in…您仍然需要count变量。另请参见感谢Mario。。在我尝试遵循您的建议后,下一个错误消息是:注意:未定义变量:numberofwords in…您仍然需要该count变量。另请参阅
error_reporting(0);