簡體   English   中英

選擇列 FROM table_name WHERE username=$_SESSION['username'] 不起作用

[英]Select column FROM table_name WHERE username=$_SESSION['username'] not working

我試圖從表用戶中取出url並將其插入到當前登錄用戶的表圖像的url中。此代碼無法在圖像表中插入url

$uploaduser = $_SESSION["username"];
$selectuser = mysqli_query("SELECT * FROM users WHERE username=$uploaduser",$db1);
$row = mysqli_fetch_array($selectuser);
$pic = $row['url'];

$sql = "INSERT INTO images (image1, image_text1, uploaduser, url, date) VALUES ('$image1', '$image_text1' , '$uploaduser','$pic','$date')";

mysqli_query($db1, $sql);

第一個參數應該是鏈接( $db1 )。 然后,除非用戶名是數字數據類型,否則您應該使用單引號將值括起來。

嘗試這個 :

$selectuser = mysqli_query($db1, "SELECT * FROM users WHERE username='$uploaduser'");

重要提示:您應該查看如何防止 PHP 中的 SQL 注入? 以保護您的查詢。

無論如何,您應該使用准備好的語句,

$selectuser = mysqli_query("SELECT * FROM users WHERE username=$uploaduser",$db1);

你這里有錯誤。 mysqli_query期望參數 1 是連接變量,參數 2 作為查詢字符串,相反,您已將第二個參數作為連接變量傳遞,第一個參數作為查詢字符串傳遞。

還要嘗試連接變量而不是直接將變量傳遞到查詢字符串中。

代替

$sql = "INSERT INTO images (image1, image_text1, uploaduser, url, date) VALUES ('$image1', '$image_text1' , '$uploaduser','$pic','$date')";

嘗試

$sql = "INSERT INTO images (image1, image_text1, uploaduser, url, date) VALUES ('".$image1."', '".$image_text1."' , '".$uploaduser."','".$pic."','".$date."')";

希望這可以幫助。

暫無
暫無

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

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