php - 选择列 FROM table_name WHERE username=$_SESSION ['username' ] 不起作用

标签 php mysql sql mysqli

我正在尝试从表users中取出url并将其插入表imagesurl> 来自当前登录的用户。此代码无法在 images 表中插入 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'");

重要提示:您应该查看 How can I prevent SQL injection in PHP?以保护您的查询。

关于php - 选择列 FROM table_name WHERE username=$_SESSION ['username' ] 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49087464/

相关文章:

php - 用户名/电子邮件垃圾邮件列表?

javascript - 为什么在 PHP 中使用 intval 和 hexdec 内置函数的十六进制到十进制字符串输出不同?

php - 以一种形式提交 POST 和 GET 变量

sql - 从 friend 那里获取帖子(您有权查看)

php - 如何更改SQL查询中数据库日期的格式?

php - Ajax PHP 实时搜索 - 需要第二步

mysql - 使用触发器从行生成行

mysql - 选择第一个加入的值,而不是全部

c# - 使用 ExecuteNonQuery() 时返回值不正确

mysql - 将 SQL 查询优化到表中的特定行