Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在新的mysql查询中嵌入现有php记录集_Php_Mysql - Fatal编程技术网

在新的mysql查询中嵌入现有php记录集

在新的mysql查询中嵌入现有php记录集,php,mysql,Php,Mysql,我有一个现有的记录集,它从mysql中名为$rrows的表中检索所有信息。我希望做的是在一个新的mysql查询中使用这个现有的记录集 例如,我有以下行从一个表中检索“产品代码”: <?php echo $rrows['productcode']; ?> 然后,我尝试使用以下productcode从新表中收集相应的图像: <img src="<?php mysql_select_db("dbname", $con); mysql_set_charset('utf8'

我有一个现有的记录集,它从mysql中名为$rrows的表中检索所有信息。我希望做的是在一个新的mysql查询中使用这个现有的记录集

例如,我有以下行从一个表中检索“产品代码”:

<?php echo $rrows['productcode']; ?>

然后,我尝试使用以下productcode从新表中收集相应的图像:

<img src="<?php

mysql_select_db("dbname", $con);
mysql_set_charset('utf8');

$result = mysql_query("SELECT * FROM furnimages WHERE productcode='$rrows['productcode']'");

while($row = mysql_fetch_array($result))
{
    echo '' . $row['photo'] . '';   
}
mysql_close($con);
?>">
“>
可以这样做吗?最初我打算将表链接在一起以获取所有信息,但这不起作用,因为主目录中的一些产品代码在“furnimages”表中没有相应的数据

提前谢谢! JD是你在这里最好的朋友

$sql = <<<sql
SELECT * FROM furnimages 
WHERE productcode=%d
sql;

$result = mysql_query(sprintf($sql, $rrows['productcode']));

$sql=
JOIN
按照您最初的意图连接表。如果
JOIN
没有生成您想要的结果,那是因为您没有正确的查询。如果数据存在,它应该可以按编写的方式工作。感谢您的注释-上面的代码抛出了一个语法错误,这就是我将它放在stackoverflow上的原因-不是吗一个可能会冒犯任何人的人!将尝试找出原因。@JD2011:如果你遇到语法错误,然后说出错误是什么(剪切并粘贴)。这就像去看医生,然后一句话也不说,想知道他们为什么帮不了你,而不是简单地说“嘿,我的腿断了。”“谢谢Marc,我已经审阅了所有我实际上不需要在我的网站管理系统中加入这样一个领域的内容,所以我把它去掉了——尽管很感谢你的评论——这对我来说还是很新鲜的!”!工作很有魅力-非常感谢!!现在来看php数据对象扩展,了解更多关于这个主题的知识。“这比简单地引用变量的值要好,因为它添加了一个类型约束,可以减少令人讨厌的sql注入的风险。”抱歉,但我不同意“更好”。使用这种方法,为了证明您是安全的,您必须查看两个地方:查询(其中一些变量将被
%d
清除)和
sprintf
参数(其余变量将被转义)。在我的书中,这比只看
sprintf
更糟糕。它还使您容易受到维护引起的错误的影响,当然也不会降低风险(如果正确执行,这两种方法都是100%可靠的)。如果某些变量将用%d进行清理,则查询中只有一个变量,如果有更多变量,则应使用更多占位符,而不是将变量直接放入thw查询中。你不太同意。