我正在尝试一些非常简单的东西,但由于某种原因,它不会像我预期的那样工作。为此,我想选择一个特定的行,然后通过更新将该行分配给另一个表。
这是我要运行的脚本:
<?php
$passedID = $_POST["upvotedurl"];
$mysqli = new mysqli('localhost', 'root', '', 'osscom_users_test');
$sqlstm = "SELECT * FROM image_uploads WHERE THMPATH=?";
$fstmt = $mysqli->prepare($sqlstm);
$fstmt->bind_param("s", $passedID);
$fstmt->execute();
$fstmt->store_result();
$json = $fstmt->get_result()->fetch_assoc();
foreach ($json as $value) {
$val1 = $value['THMPATH']; // this is empty, why???
$sql = "UPDATE image_uploads SET IMGNAME=? WHERE THMPATH=?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("ss", $val1, $passedID);
$stmt->execute();
$stmt->close();
}
$fstmt->close();
$mysqli->close();
?>
由于一个奇怪的原因,我无法解释查询为空的变量$value形式。SELECT
正如您在示例中看到的那样,我得到的THMPATH绝对不是空的,并且我也在UPDATE下面使用相同的值。如果我会使用类似的东西,$val1 = "Wololo"它会毫无问题地工作。
为什么我的$value(在这种情况下$value['THMPATH'])是空的?这没有意义吗?
更新
运行时file_put_contents('../session/log.txt', print_r($json, true));是这样的结果:
Array
(
[ID] => 511
[OWNER] => User Name
[IMGNAME] => Wagirigoingi
[IMGTAGS] => image, photo, picture
[IMGPATH] => 1028525690.jpg
[THMPATH] => ../thumbnails/5560921208_username.jpg
etc..
)
所以选择有效,但我仍然无法获得值。
万千封印