Php 过帐数据库查询的返回值

Php 过帐数据库查询的返回值,php,mysql,database,mysqli,Php,Mysql,Database,Mysqli,我正试图找出如何获得post的返回值。我的代码如下 <?php $mysqli = new mysqli("localhost","user","password","db"); $lname=$_POST['lname']; $query= "SELECT * FROM contacts WHERE lname = '".$lname."'"; $result = $mysqli->query($query); if (!$result) { prin

我正试图找出如何获得post的返回值。我的代码如下

    <?php

$mysqli = new mysqli("localhost","user","password","db");

$lname=$_POST['lname'];


$query= "SELECT * FROM contacts WHERE lname = '".$lname."'";
$result = $mysqli->query($query);     
if (!$result) {
  printf("Query failed: %s\n", $mysqli->error);
  exit;
}      

return $result;
?>
请参见



我不太熟悉
mysqli
格式,但它看起来没有参数化,对于一个可能的SQL注入器来说确实非常美味。它没有参数化,并且以当前的形式对SQL注入器开放。这取决于提问者要回答的问题。因为这不是他们所问的问题,所以我没有把它变成一堂关于良好SQL实践的课。在这个网站和互联网站上都有足够的数据。当我尝试获取此消息时,出现了致命错误:调用未定义的方法mysqli::fetch_assoc()在第14行的/home/camelarc/public_html/searchform.php中,让mysql返回受影响行的计数,并验证是否存在实际结果在允许该代码靠近生产机器之前,请研究SQL注入。这是危险的。
<?php

$mysqli = new mysqli("localhost","user","password","db");

$lname=$_POST['lname'];


$query= "SELECT * FROM contacts WHERE lname = '".$lname."'";
$result = $mysqli->query($query);     
if (!$result) {
  printf("Query failed: %s\n", $mysqli->error);
  exit;
}      
while ($contact = $result->fetch_assoc()) {
    echo $contact['name']."<br>\n";
}
?>