2012-10-04 123 views
3

这使我疯狂。我正在使用jQuery图像上传和作物从 http://www.webmotionuk.co.uk/php-jquery-image-upload-and-crop/mysqli商店php变量不值

我在这里使用修改版本的建议来存储在MySQL数据库中的文件位置。 mod是我在表上使用INSERT,除了一件事以外,'owner'变量$ id被存储为$ id而不是$ id的值。我可以在每个$ _POST上显示$ id的值,所以我知道它在那里。

我很确定我的语法是正确的,但我不明白它为什么这样做。

$cropped = resizeThumbnailImage($thumb_image_location, $large_image_location,$w,$h,$x1,$y1,$scale); 
    //connect to the database 
    include 'config.php'; 
    // check connection 
    if (mysqli_connect_errno()) { 
     exit('Connect failed: '. mysqli_connect_error()); 
    } 
    $sql = "INSERT INTO `photos` (`id`,`owner`,`url`) VALUES ('id','".$id."','".$thumb_image_location."')"; 
    // Performs the $sql query on the server to insert the values 
    if ($conn->query($sql) === TRUE) { 
     $conn->close();} 
//Reload the page again to view the thumbnail 
header("location:".$_SERVER["PHP_SELF"]); 
exit(); 

第一行是246,最后3行是原始的247-250。

感谢您提供的任何帮助。

好的,我不知道这是我的大脑放屁,还是PHP或两者都有的问题。我有从每个页面的标头_SESSION变量分配的$ id和(忘记了)我传递$ id作为_POST数据(相同的值)。一旦我切出_POST数据传递,只需拉动_SESSION变量就可以正常工作。但是,多次分配一个变量不应该是一个问题,应该这样吗?

+0

数据库中显示“$ id”还是“id”?如果它的“id”可能意味着$ id没有被设置,并且PHP正在退回来将其解释为一个字符串。如果它是“$ id”,我唯一能想到的就是在单引号内引用$ id(而不是嵌套在双引号内),并且这看起来没有出现在代码中。 – octern

+0

如果你在$ sql =行之前回显$ id,你会得到什么? –

+0

Octern,所有者字段填充$ id。 –

回答

0

查询行需要是这样的:

$sql = "INSERT INTO `photos` (`id`,`owner`,`url`) VALUES ('id','$id','$thumb_image_location')"; 

你的语法正常工作也一样,看到here

这是怎么了我的语法著作,​​

注:都工作是一样的,所以仍然试图找出OP代码中的错误。

+0

这种方式存储$ id而不是值,但url仍然有效。 –

+0

这看起来应该与OP使用的查询完全相同,尽管它确实需要较少的眼睛引用跟踪(除非我在计算失败)。 – octern

+0

是的,我刚刚测试过我的,然后OP的:),因此把两者都放在那里。 –