簡體   English   中英

如何在SELECT端的mysqli查詢中使用PHP變量?

[英]How do you use PHP variables in mysqli query on the SELECT side?

我有以下查詢:

$mysqli -> prepare('SELECT $whatever FROM county_rates WHERE `id`=?')

由於某些原因,這不起作用。 我知道$ whatever是正確的,因為我是在語句之​​前定義它。 當我用實際的列名替換$ whatever時,它可以工作,但使用變量時,則不能。

我也嘗試過:

$mysqli -> prepare('SELECT ? FROM county_rates WHERE `id`=?')

然后定義? 在bind_param中,所有返回的都是列名稱本身。

您需要使用雙引號將變量擴展

$mysqli -> prepare("SELECT $whatever FROM county_rates WHERE `id`=?")

當前,您在尋找$ what而不是變量的內容。

您應該熟悉手冊的以下部分: 字符串

試試這個代碼,我自己嘗試過,希望對您有用

<?php
$hostname = "your host";
$username = "username";
$password = "password";
$database = "database name";
$mysqli = new mysqli($hostname, $username, $password, $database);

//test connection
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

//declaring variable
$sql='name';

$prev=$mysqli->prepare("SELECT $sql FROM cs_product WHERE id=?");
    /*The types of data that can be bound [in bind_param()] are:
   i – integer
   d – double
   s – string
   b – blob
    */
$prev->bind_param('i',$_GET['pid']);
$prev->execute();
$prev->bind_result($name);
$prev->fetch();
$prev->close();

//showing the result
echo $name;

?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM