【发布时间】:2013-08-01 09:23:10
【问题描述】:
我正在生成图像列表,并希望根据我的图像旁边是否按下提交按钮来插入特定图像。
这是我生成图像列表的代码。图片旁边是提交按钮,如计数和其他数据:
// Display results
foreach ($media->data as $data) {
echo "<a href=\"{$data->link}\"</a>";
echo "<h4>Photo by: {$data->user->username}</h6>";
echo $pictureImage = "<img src=\"{$data->images->thumbnail->url}\">";
echo "<h5>Like Count for Photo: {$data->likes->count}</h5>";
echo "<form>";
echo '<input type="submit" onClick=post()>';
echo "</form>";
}
然后我尝试将该图片插入到我的数据库中:
InstagramImages(DB) - 图像(字段)
function post() {
$hostname = "redacted";
$username = "redacted";
$dbname = "redacted";
//These variable values need to be changed by you before deploying
$password = "redacted";
$usertable = "InstagramImages";
//Connecting to your database
mysql_connect($hostname, $username, $password) OR DIE ("Unable to
connect to database! Please try again later.");
mysql_select_db($dbname);
$sql="INSERT INTO $usertable (image) VALUES ('$pictureImage')";
if (!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);
}
任何帮助将不胜感激。我需要帮助为 php 变量 $pictureImage 创建正确的 INSERT 查询。
【问题讨论】:
-
嗯..你到底有什么问题或错误?
-
@JustAnil 抱歉,请参阅编辑。
-
正如您的 html 建议由 foreach 循环生成的那样,单个页面中将有多个同名的提交按钮,具有相同的函数调用 post();所以你必须通过传递一些唯一的 id 参数来确定按下了哪个提交按钮,
-
始终使用
bind_param向您的SQL 查询添加值,永远不要在没有proper escaping 的情况下使用字符串插值,否则您会遇到讨厌的SQL injection bugs。这里不清楚您为什么使用mysql_connect和mysqli_query,因为两者完全不兼容。您应该使用mysqli或 PDO,而不是mysql_query。