簡體   English   中英

mysql_query()中的PHP變量

[英]Php variable inside mysql_query()

我正在嘗試使用CREATE DATABASE命令創建數據庫,但是卻給了我一個錯誤。 這是我的代碼:

$db_usr = mysql_real_escape_string($_POST["email"]);
$con=mysql_connect("localhost","root");
if (! $con)
{
    die('Could not connect: ' . mysql_error());
}
else
{
    test();
}

function test()
{
    $sql = "CREATE DATABASE '$db_usr'";
    mysql_query($sql);
}

它總是返回“未定義的變量”

$db_user變量在函數范圍內不可訪問,這就是為什么會出現該錯誤的原因。

如果要在函數內部使用變量,則將其作為函數參數傳遞,如下所示:

function test($db_usr)
{
    $sql = "CREATE DATABASE `$db_usr`";
    mysql_query($sql);
}

如果這涉及用戶輸入,則您的數據庫查詢容易受到SQL注入的攻擊。 您應該始終驗證用戶輸入(推薦的方法是對參數化查詢使用MySQLi或PDO)。

另一種選擇:

function test()
    {
        $db_usr = mysql_real_escape_string($_POST["email"]);
        $query= "create database ".$db_usr ."";
        $result = mysql_query($query);
    }

暫無
暫無

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

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