SQL,PHP,子查询

时间:2015-12-04 22:29:48

标签: php mysql

我有这个错误:警告:mysql_fetch_array()期望参数1是资源,布尔值在第25行的C:\ xampp \ htdocs \ projeto \ BD \ proj_detalhes.php中给出

<?php
$bd = "crowdfunding";
$connection = mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db($bd) or die(mysql_error());
$sql = "SELECT projeto.id, nome, limite, projeto.descricao FROM projeto,(SELECT valor, recompensa.descricao FROM recompensa, projeto WHERE projeto.id = id_projeto)";
$res = mysql_query($sql);
?>

<html>
<head>
<title>Projects</title>
</head>
<body>
<h1>Details<br /></h1>
<table>
<tr>
<td><strong>ID</strong></td>
<td><strong>Name</strong></td>
<td><strong>Final data</strong></td>
<td><strong>Description</strong></td>
<td><strong>Value</strong></td>
<td><strong>Reward Description</strong></td>
</tr>
<?php
while($dados = mysql_fetch_array($res)){
$id = $dados['id'];
$nome = $dados['nome'];
$data = $dados['limite'];
$descricao_proj = $dados['projeto.descricao'];
$valor = $dados['valor'];
$descricao_rec = $dados['recompensa.descricao'];

echo "<tr>
    <td>$id</td>
        <td>$nome</td>
        <td>$data</td>
        <td>$descricao_proj</td>
    <td>$valor</td>
    <td>$descricao_rec</td>  
</tr>";
}
?>
</table><br /><br />
<form action="menu1.php" method="get">
<center><input name="button" type="submit" value="Back"/></center>
</form>
</body>
</html>

我的第一个变量不是英文,试着理解它。但我在这里的目标是从项目表中显示我的ID名称和描述,并从我的奖励表中显示我想要显示的值和描述(仅当项目中的id等于我创建的project_id的变量时)

1 个答案:

答案 0 :(得分:0)

您的查询很可能会返回错误。尝试使用phpMyAdmin或任何直接运行查询的数据库工具直接针对您的数据库运行查询。

看起来像&#34; id_projeto&#34;查询的一部分(最后)可能导致错误。

更新:使用表名(或别名)前缀所有字段名称并使用JOIN:

SELECT p.id, p.nome, p.limite, p.descricao, r.valor, r.descricao FROM projeto p LEFT JOIN recompensa r ON p.id = r.id_projeto