发布
社区首页 >问答首页 >不能在mysql_query()中使用变量?

不能在mysql_query()中使用变量?
EN

Stack Overflow用户
提问于 2012-07-26 02:49:36
回答 1查看 623关注 0票数 0

这是最基本的,因为它得到了男孩和女孩。

我有一个非常简单的脚本,只是不会工作。我调用数据库并测试它的连接,执行查询,存储结果,并打印结果。

问题是我似乎不能在SQL语句中使用任何变量。

代码如下:

代码语言:javascript
代码运行次数:0
复制
<?php

    $rest_name = $_GET['rest_name']; // outputs 'Starbucks'

    $test = mysql_query("SELECT code_id FROM table_code WHERE restaurant = '$rest_name'");

    /* I've also tried these as well
    $test = mysql_query("SELECT code_id FROM table_code WHERE restaurant = '".$rest_name."'");
    */

    $mark = mysql_result($test,0);

    echo $_GET['rest_name'].$mark; 
?>

我回显了查询,它看起来很好,在数据库中也运行得很好。$rest_name变量回显良好。$_GET“‘rest_name”回显正常。我对此感到迷惑和困惑。

EN

回答 1

Stack Overflow用户

发布于 2012-07-26 02:51:02

1-你可以从这个开始。

代码语言:javascript
代码运行次数:0
复制
$test = mysql_query("S....") or die(mysql_error());

这样你就会看到你得到的是什么错误。

2-您可能希望避免在查询中使用用户提供的变量

代码语言:javascript
代码运行次数:0
复制
$rest_name = mysql_real_escape_string($_GET['rest_name']); 

否则,用户可以插入自己的sql命令;

3- mysql_xxx函数已被弃用,您可能需要研究pdo或mysqli以了解新方法是如何工作的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11656568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档