Php Mysql SELECT * FROM tablename WHERE rowname = $ variable

时间:2014-02-12 16:48:09

标签: php mysql

像往常一样感谢提前。我搜索并搜索了这个问题的答案,但想出了一个空白。

我知道变量$userId很好,因为当它回显时会吐出数字8.但是当我在我的Mysql命令中尝试使用它时,数组只会出现一个空白。

我在使用echo "Not";搜索数组的NULL条目时考虑到了这一点,但即使这样也没有回应。很奇怪。是否只需要改变$userId变量放入mysql语句的方式?

if($_SESSION['logged_in'] === "logged")
{
    if(isset($_SESSION['id']))
    {
    $userId = $_SESSION['id'];
    echo 'The User ID = ' . $userId . '<br>';
    $musicidselect = mysql_query("SELECT * FROM myMusic WHERE user_id = '.$userId.'") or die(mysql_error());

        while($data = mysql_fetch_array($musicidselect)){
            if($data){
                print_r($data);
            } else{
                echo "Not";
            }
        } 

    }
}

我在这里遇到问题只是因为这个文件是通过jquery加载到另一个页面的吗?

<script type="text/javascript"> 
    jQuery(document).ready(function($){ 
        $("#performsearch").click(function(){ 
             $("#displayresults").empty(); 
             $( "#displayresults" )
                  .html('<center><img src="http://www.#######.com/wp-content/themes/bigformat/images/ajax-loader.gif">‌​</center>')
                  .load( '/wp-content/themes/bigformat/template-home-search.php'); 
             return false; 
        }); 
     }); 
</script>

3 个答案:

答案 0 :(得分:3)

这不正确

"SELECT * FROM myMusic WHERE user_id = '.$userId.'"

应该是

"SELECT * FROM myMusic WHERE user_id = '".$userId.'"

答案 1 :(得分:3)

错:

("SELECT * FROM myMusic WHERE user_id = '.$userId.'")

正确:

("SELECT * FROM myMusic WHERE user_id = " . $userId)

答案 2 :(得分:1)

 $musicidselect = mysql_query("SELECT * FROM myMusic WHERE user_id = $userId") or die(mysql_error());

由于user_id是一个数字

仅供参考,具有“”的变量将被评估,而''则不会。请参阅What is the difference between single-quoted and double-quoted strings in PHP?以获得更好的说明。