WHERE子句MySQL中的PHP字符串变量
我对这个简单的sql查询有问题:WHERE子句MySQL中的PHP字符串变量,php,mysql,sql,select,Php,Mysql,Sql,Select,我对这个简单的sql查询有问题: <?php require_once('../../Connections/tohoshows.php'); $show ='gothaf'; mysql_select_db($database_tohoshows, $tohoshows); $query_getShows = "SELECT * FROM toho_shows WHERE toho_shows.show =' ". $show. " '"; $getShows = mysql_q
<?php
require_once('../../Connections/tohoshows.php');
$show ='gothaf';
mysql_select_db($database_tohoshows, $tohoshows);
$query_getShows = "SELECT * FROM toho_shows WHERE toho_shows.show =' ". $show. " '";
$getShows = mysql_query($query_getShows, $tohoshows) or die(mysql_error());
$row_getShows = mysql_fetch_assoc($getShows);
$totalRows_getShows = mysql_num_rows($getShows);
mysql_free_result($getShows);
?>
我得到一个结果。当我使用变量时,我没有得到任何数据!我是个新手,我不知道自己做错了什么。任何帮助都将不胜感激。
谢谢大家! 你没有日期,因为你的报价之间有额外的空间
$query_getShows = "SELECT * FROM toho_shows WHERE toho_shows.show =' ". $show. " '";
^ HERE ^
然后将其解析为
SELECT * FROM toho_shows WHERE toho_shows.show =' gothaf '
移除它,它就会工作
$query_getShows = "SELECT * FROM toho_shows WHERE toho_shows.show ='". $show. "'";
作为旁注,如果变量的值来自外部,则查询易受攻击。请看下面的文章,了解如何预防它。通过使用PreparedStatements
可以避免在值周围使用单引号
$query_getShows = "SELECT * FROM toho_shows WHERE toho_shows.show ='". $show. "'";