0
错误我有一个名为precios的数据库表,只有4列,第一列叫做codigo。这个想法是将实际的网页名称与codigo专栏中的数据进行比较。例如,我的实际网页名称被称为:... AC01.php,在该表中,codigo列包含一行AC01,其他列有价格,所以当PHP知道实际网页是AC01.php时,会输出价格与网页设计的几个部分中与该页面同名的行相关。在继续下面的步骤之前,我试图测试这个比较。如何修复“功能名称必须是字符串”PHP
这是我的实际代码:
$pageName=basename($_SERVER['REQUEST_URI'], ".php"); (tested, works!)
$link=mysqli_connect('localhost','%%%','%%%'); (tested, connection works!)
/*checking connection*/
if(mysqli_connect_errn()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query="SELECT * FROM precios WHERE codigo='$pageName'";
$result=mysqli_query($link, $query);
$row=mysqli_fetch_array($result);
echo $row;
mysqli_close($link);
这是错误消息我得到:
Fatal error: Function name must be a string in ...AC01.php on line 40.
从Dreamweaver中,我可以看到40行如下:
$result=$mysqli_query($link, $query);
在'mysqli_query'之前有一个额外的'$'。 '$ result = $ mysqli_query($ link,$ query);'应该是'$ result = mysqli_query($ link,$ query);'。 –
当您处理它时,请修复代码中的[SQL注入](http://bobby-tables.com)漏洞。用[MySQLi准备好的语句](http://www.php.net//manual/en/mysqli.quickstart.prepared-statements.php)重写代码,并保存你的网站免遭黑客攻击。 –
在'mysqli_query'之前删除额外的'$'输出以下内容:'警告:mysqli_fetch_array()期望参数1是mysqli_result,布尔给出在... AC01.php在线4' –