疯了...... 任何人都可以告诉我这种语法有什么问题:
已编辑 -
这正确地返回标题:
$q = "SELECT t1.title FROM t1 WHERE t1.id=$id";
这正确地返回时间:
$q = "SELECT t2.time FROM t2 WHERE t2.id=$id";
我正在尝试使用以下语法查询这两个表:
$q = "SELECT t1.title, t2.time FROM t1, t2 WHERE t1.id=$id";
但是收到此错误消息:
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近'$ q = \“SELECT t1.title,t2.time FROM t1,t2 WHERE t1.id = $ id \”' 在第1行
还有另一种方法吗?从我所读到的,这应该是正确的语法,但是,当我尝试查询两个表时,我似乎无法使查询工作。
我通过mysqli连接($ connection是我编写的一个函数,在查询单个表时工作正常 - 我只是因为需要更多代码而添加这个,我不需要任何帮助这部分内容,只有上面的错误信息):
$r = @mysqli_query ($connection, $q);
if (mysqli_num_rows($r) == 1)
{
// Valid id, show the form
// Get the event information
$row = mysqli_fetch_array ($r, MYSQLI_NUM);
… etc ...
答案 0 :(得分:2)
如果您使用的是
mysqli_query('$q ="SELECT t1.title, t2.time FROM t1, t2 WHERE t1.id=$id"');
请尝试使用
$q ="SELECT t1.title, t2.time FROM t1, t2 WHERE t1.id=$id";
mysqli_query($q);
或
$q ="SELECT t1.title, t2.time FROM t1, t2 WHERE t1.id= ".$id;
mysqli_query($q);
答案 1 :(得分:0)
<?php
... other code ...
$q ="SELECT t1.title, t2.time FROM t1, t2 WHERE t1.id=$id";
$result = mysqli_query($q);
... other code ...
?>
答案 2 :(得分:0)
尝试
$q ="SELECT t1.title, t2.time FROM t1, t2 WHERE t1.id=" . $id;
或使用围绕变量的大括号{}
$q ="SELECT t1.title, t2.time FROM t1, t2 WHERE t1.id={$id}";
答案 3 :(得分:-1)
使用连接来连接两个表t1和t2。您可以使用内部联接,左联接或右联接。像
$ q =“SELECT t1.title,t2.time FROM t1 LEFT JOIN t2 ON t1.id = t2.whhere t1.id = $ id”;