PHP / SQL语法:将变量传递给SQL查询

时间:2012-09-14 06:54:50

标签: php sql variables printf

我厌倦了试图看错了什么。我有两个PHP。从第一个开始我发送变量'select1'(基本上是id)到第二个,而不是我想更新上传pdf文件的记录。

$id = "-1";
if (isset($_GET['select1'])) {
  $id = mysql_real_escape_string($_GET['select1']);
}



if(isset($_POST['Submit'])) {
    $my_upload->the_temp_file = $_FILES['upload']['tmp_name'];
    $my_upload->the_file = $_FILES['upload']['name'];
    $my_upload->http_error = $_FILES['upload']['error'];
    if ($my_upload->upload()) { // new name is an additional filename information, use this to rename the uploaded file
        mysql_query(sprintf("UPDATE sarcini1 SET file_name = '%s' WHERE id_sarcina = '%s'", $my_upload->file_copy, $id));
    }
}

如果我输入一个有效ID的行,例如:

$id = 14;

它正在运作。我做错了什么?谢谢!

2 个答案:

答案 0 :(得分:1)

您同时使用GET和POST。据我所见,这个条件没有返回True

if (isset($_GET['select1']))

编辑:如果您在上面没有找到任何答案;也许更多的信息/代码可以帮助我们找到解决方案。

答案 1 :(得分:1)

如果您需要同时接受帖子和get,那么你应该尝试类似下面的代码来检索变量。

$var = 'select1';
if( isset( $_POST[$var] ) ) {
    $id = $_POST[$var];
} else if( isset( $_GET[$var] ) ) {
    $id = $_GET[$var];
} else {
    $id = -1;
}