我想让一个 PHP 变量等于数据库中的一个条目。与数据库的连接很好,因为它正在做其他事情,但变量没有出现。
这是我的变量声明:
$companyNameRet = mysqli_query($con,"SELECT company_name FROM x6_quote_data WHERE quote_number = '".$getQuote."'") ;
该变量将用于输入字段的“占位符”属性,有效地使用数据库中的数据预先填充表单。
提前致谢。
你$getQuote
的位置在占位符中,name= "getQuote"
不在占位符中。
以下应该有效:
$row=$companyNameRet->fetch_assoc();
$myvariable=$row['company_name'];
祝你好运!
对于多个变量, $row 将填充 $row['column_name'] 为您拥有的尽可能多的列名。如果您正在解密或对函数做任何花哨的事情,它可能会变得非常混乱,因此可能值得分配别名:
SELECT column1 firstcol,column2 secondcol,column3 thirdcol...
在这种情况下,$row 会将别名作为键:$row['firstcol']、$row['secondcol'] 等...尝试 var_dump($row) 看看你得到了什么。这样做是最具教育意义的。
您可以使用以下方法获取多行:
while($row=$companyNameRet->fetch_assoc())
{
// $row will contain consecutive rows selected from your db.
}
W3 Schools提供了一个不错的 mysqli 基础教程。你会很好地阅读它。
您无法使用原始 mysqli API 从查询中获取您的价值。为此,您必须使用一些更高级别的抽象包装器,例如safeMysql:
$sql = "SELECT company_name FROM x6_quote_data WHERE quote_number = ?s";
$companyNameRet = $db->getOne($sql, $getQuote);
另请注意,您应该使用准备好的语句。