PHP MySQL 查询不返回任何内容,具有相同查询的 phpmyadmin 返回结果


php mysql query returns nothing, phpmyadmin with same query returns result

我正在尝试删除文件或将行复制到新表中,具体取决于 $_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中,它将正常工作。

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

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

这应该放在之后,

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