使用mysql_query php显示数据

bob*_*bob -1 php mysql

我在数据库,表'歌曲'和'流派'上有2个表.

  • 表'歌曲'有3列:id_song(PK),song_title,lyric,id_genre
  • 表'genre'有2列:id_genre(PK),流派

在表'genre'中,我有:

|| id_genre | 类型||

|| ....... 1 ....... | ..pop ... ||

|| ....... 2 ....... | ..rock .. ||

|| ....... 3 ....... | ..jazz ... ||

|| ....... 4 ....... | .classic ||.

2个表之间的关系:

song.id_genre FK to genre.id_genre

我有一个像这样的变量:

$search_genre = 'pop';
Run Code Online (Sandbox Code Playgroud)

我想通过搜索歌曲$search_genre.

$query = mysql_query("SELECT song.id_song, song.song_title, genre.genre FROM song WHERE genre='$search_genre' INNER JOIN genre ON song.id_genre=genre.id_genre ORDER BY id_song");
Run Code Online (Sandbox Code Playgroud)

但是,它不起作用.我该怎么办?谢谢你的帮助.

问题2:如何在php中显示结果?

Mad*_*iha 6

第一!

请不要mysql_*在新代码中使用函数.它们不再维护,并且已被正式弃用.看到红色的盒子?了解准备好的语句,并使用 PDO MySQLi -本文将帮助您确定哪些.如果您选择PDO,这是一个很好的教程.

第二!

如果你已经开始mysql_*至少逃避你的参数!否则你将离开一个巨大的SQL注入安全漏洞,等待下一个l33t想成为黑客入侵你的网站!

$search_genere = mysql_real_escape_string($search_genere);
$query = mysql_query("SELECT song.id_song, song.song_title, genre.genre FROM song INNER JOIN genre ON song.id_genre=genre.id_genre WHERE genre.genre='".$search_genre."' ORDER BY id_song");
Run Code Online (Sandbox Code Playgroud)

但请,请务必阅读上面的框中的链接.

您遇到此错误的原因是语法错误.