mysql - 'username' 中有未知列 'where clause'

标签 mysql

display_art.php

print"<td><a href='member.php?username=$username'>$username</td>";

member.php: 代码显示一位用户完成的所有艺术风格。当试图 连接它说“where 子句”中的未知列“用户名”

$db = mysqli_connect("localhost", "root", "","Artworks" ); 

 $results = mysqli_query($db, "select * from artwork where username = 
{$_GET['username']}")or die(mysqli_error($db));

表:

create table artwork(
    artwork_id serial primary key,
    username text,
    title text,
    category text,
    description text,
    tags text,
    filename text
    );

最佳答案

确保正确区分大小写的匹配列名称并使用准备好的语句

$db = mysqli_connect("localhost", "root", "","Artworks" ); 

$stmt = mysqli_prepare($db, "select * from artwork where username =  ?") or die(mysqli_error($db));
mysqli_stmt_bind_param($stmt, 's',$_GET['username']);

mysqli_stmt_execute($stmt);

这样你应该避免引号和sqlinjection问题

关于mysql - 'username' 中有未知列 'where clause',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53001702/

相关文章:

php - 从多个表中查询FetchArrayAll?

php - 如何排除选择和所有相关的(MySQL + PHP)

mysql - 如何在不使用 UNION ALL 的情况下简化查询?

mysql - mysql中的子查询定界符

MySQL 删除外键索引时抛出错误。

mysql - Perl - 如何将数据库中的 ' 解码或替换为单引号以供浏览器显示

mysql - 选择时间之间,填写空时间

php - 在 POST 上生成并保存序列号

php - SQL需要提高运行速度

MySQL - 如何选择与最近日期关联的值+所有值的最大值/最小值