php mysql查询没有返回任何内容,phpmyadmin使用相同的查询返回结果

时间:2013-10-05 00:45:33

标签: php mysql

我正在尝试删除文件或将行复制到新表中,具体取决于$ _GET。 $ _GET工作正常,我没有包含所有代码,我知道它不相关。 表副本可以工作,但是当$ _GET是一个不同的值时调用的select语句不会返回任何内容,除非我将查询直接复制到phpmyadmin中。

基本代码:

$pID = $_GET['pID'];

$con = mysqli_connect("...","...","...","...");

以下作品:

$query = 'INSERT INTO `photos` (`id`, `photo1`, `photo2`, `demographic_id`)
SELECT `id`, `photo1`, `photo2`, `demographic_id`
FROM `photos_queue`
WHERE `photos_queue`.`demographic_id` = '.$pID;

mysqli_query($con, $query);

这不是:

$query = 'SELECT `photo1` FROM `photos_queue` WHERE `demographic_id` = '.$pID;
$result = mysqli_query($con, $query);
print($result);
unlink($result);

我打印了$ query,它的值是有效的;我可以将它直接复制到phpmyadmin中,它可以正常工作。

2 个答案:

答案 0 :(得分:1)

mysqli_query()不返回表数据,它只返回可用于获取它的资源。你需要这样做:

$result = mysqli_query($con, $query) or die (mysqli_error($con));
$row = mysqli_fetch_assoc($result);
$filename = $row['photo1'];
print($filename);
unlink($filename);

答案 1 :(得分:0)

($row = mysqli_fetch_array($result)

这应放在

之后
$result = mysqli_query($con, $query);