您好我正在尝试在函数中使用预处理语句。我有下面的功能,它应该根据输入的国家ID在一个数据库中返回一个国家的详细信息 - 然后我使用一个数组来获取公司名称。我不知道如何在使用预处理语句时从函数中输出要用于数组的数据。我知道我错过了一些基本的东西。请看下面。在函数中使用预处理语句
function findCountryname($countryID){
include 'connect.php';
$stmt = $conn->prepare("SELECT * FROM countries WHERE id=? and
pic!='NULL'");
$stmt->bind_param("i", $countryID);
$stmt->execute();
}
的 'connect.php' 文件由以下部分组成:
<?php
global $conn, $dbname, $username,$servername, $password;
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "country";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
这是原来的功能:
function findCountryname($countryID){
$result = mysql_query("SELECT * FROM `countries` WHERE `id`=' $countryID '
and `pic` != 'nothing' ");
return $result;
}
mysqli execute将返回一个布尔值,而不是一个对象。 – Devon
@Devon正确,答案已更新。 – Akshay
仍然不正确,fetch_assoc是结果对象的函数,而不是stmt对象。 – Devon