Php 在文章表中上载图像后存储图像\u id
根据这一点,我成功地创建了上传图像,但现在我需要将Php 在文章表中上载图像后存储图像\u id,php,mysql,image,upload,Php,Mysql,Image,Upload,根据这一点,我成功地创建了上传图像,但现在我需要将image\u id存储到另一个名为articles的表中。我不知道这是否正确,但我尝试像这样从表image中选择image_id $select_image=mysql_query("select image_id from image where image_name = $fileName") or die(mysql_error()); 并将结果获取到我的文章insert查询,如下所示 $fetch=mysql_fetch_array(
image\u id
存储到另一个名为articles
的表中。我不知道这是否正确,但我尝试像这样从表image中选择image_id
$select_image=mysql_query("select image_id from image where image_name = $fileName") or die(mysql_error());
并将结果获取到我的文章insert查询,如下所示
$fetch=mysql_fetch_array($select_image);
$query=mysql_query("insert into articles (article_name,article_category,article_subcategory,article_body,article_summary,article_tags,article_photo,article_timedate) values ('$article_title','$CategoryID','$ProductID','$article_body','$article_summary','$fetch[image_id]','$time')") or die ('Error, Query Faild'.mysql_error());
这是正确的吗?mysql\u错误一直在说
“where子句”中的未知列“Penguins.jpg”
您需要在第一次查询中将
$fileName
放在引号中,即'$fileName'
您需要在第一次查询中将$fileName
放在引号中,即'$fileName'
这是mysql语法相关的问题。
所有直接进入查询的数据必须使用两条规则进行准备:1.必须使用mysql\u real\u escape\u string()函数对数据进行转义
2.用引号括起来 所以,代码必须是
$fileName=mysql_real_escape_string($fileName);
$select_image=mysql_query("select image_id from image where image_name = '$fileName'") or die(mysql_error());
另外,如果您在该查询之前插入了图像,则无需选择其id。您可以使用
mysql\u insert\u id()
函数这是与mysql语法相关的问题。
所有直接进入查询的数据必须使用两条规则进行准备:1.必须使用mysql\u real\u escape\u string()函数对数据进行转义
2.用引号括起来 所以,代码必须是
$fileName=mysql_real_escape_string($fileName);
$select_image=mysql_query("select image_id from image where image_name = '$fileName'") or die(mysql_error());
此外,如果您在此查询之前插入了图像,则无需选择其id。您可以使用
mysql\u insert\u id()
函数问题是您的文件名没有被引用,因此您的mysql服务器正在尝试处理查询:
select image_id from image where image_name = Penguins.jpg
更糟糕的是,有人上传了一个名为
一,;邪恶的MYSQL查询在这里
他们将能够在您的服务器上执行任意MySQL。这称为SQL注入攻击
请查看包含此内容的。问题是您的文件名没有被引用,因此您的MySQL服务器正在尝试处理查询:
select image_id from image where image_name = Penguins.jpg
更糟糕的是,有人上传了一个名为
一,;邪恶的MYSQL查询在这里
他们将能够在您的服务器上执行任意MySQL。这称为SQL注入攻击
查看包含此内容的。您可以通过调用
SELECT LAST_INSERT_ID()
而不是
select image_id from image where image_name = $fileName
您可以通过调用
SELECT LAST_INSERT_ID()
而不是
select image_id from image where image_name = $fileName
我会说这不是吓人的注入问题,只是语法错误:)我会说这不是吓人的注入问题,只是语法错误:)我应该如何在另一个select查询中获取此问题?只需替换select image\u id。。。使用SELECT LAST_INSERT_ID(),不需要仅为获取主键(ID)而选择实际行。我假设您确实为ID字段使用自动增量:),只有这样做才会work@Bader您不需要任何查询,因为PHP已经为您提供了一个函数。阅读PHP手册总比不那么聪明好,所以answershow我应该在另一个select查询中获取这个吗?只需替换select image\u id。。。使用SELECT LAST_INSERT_ID(),不需要仅为获取主键(ID)而选择实际行。我假设您确实为ID字段使用自动增量:),只有这样做才会work@Bader您不需要任何查询,因为PHP已经为您提供了一个函数。阅读PHP手册总比不那么聪明的回答要好