php – 如果有2个具有相同名称的列,如何选择左连接中的列? [MyS
发布时间:2020-12-13 21:55:54 所属栏目:PHP教程 来源:网络整理
导读:我做了一个LEFT JOIN来从我的数据库中获取2个表的值. 查询是这样的: SELECT *FROM thread LEFT JOIN comments ON thread.id_thread = comments.id_threadWHERE id_type = '1'ORDER BY data DESC,hour DESC 然后我以这种方式输出值: ?while($row = mysqli_f
我做了一个LEFT JOIN来从我的数据库中获取2个表的值.
查询是这样的: SELECT * FROM thread LEFT JOIN comments ON thread.id_thread = comments.id_thread WHERE id_type = '1' ORDER BY data DESC,hour DESC 然后我以这种方式输出值: <? while($row = mysqli_fetch_array($query)) { echo '<div class="col-md-1"></div>'; echo '<div class="col-md-11">'; echo $row['title'] ."<br><br>".$row['content']."<br><br>"; echo $row['content_com']; echo '<div class="col-md-2 pull-right">'. "date: ".$row['data']."<br>"."author: ".'<a href ="/user.php?id='.$row['username'].'">'.$row['username'].'</a>'.'</div>' ."<br><br>"; echo '<form role="form" action="commit.php" method="post"><div class="col-md-offset-1 col-md-9"><input class="form-control" type="text" name="comm"><input type="hidden" name="thread_id" value="'.$row['id_thread'].'"></div></form> <br><br><hr><br>'; echo '</div>'; } mysqli_close($connect); ?> 然后在commit.php(表单操作)中: <?php session_start(); if(isset($_SESSION['id'])) { $servername = "mysql9.000webhost.com"; $username = "a5461665_admin"; $password = "xenovia1"; $dbname = "a5461665_pap"; $connect = mysqli_connect($servername,$username,$password,$dbname); $id = (isset($_GET['id'])) ? $_GET['id'] : $_SESSION['id']; $ctn = $_POST["comm"]; $com = mysqli_query($connect,"INSERT INTO comments(content_com,id_thread) values ('".$ctn."','".$_POST['thread_id']."')"); header("location:javascript://history.go(-1)"); if (!$connect) { die("Connection failed: " . mysqli_connect_error()); } } else { header(" url=index.php"); } ?> 我的问题是隐藏的输入框是从表注释传递给表单操作字段id_thread,但我希望它从表线程传递字段id_thread,我该怎么做? 解决方法SELECT *,thread.id_thread as mycol FROM thread LEFT JOIN comments ON thread.id_thread=comments.id_thread WHERE thread.id_type = '1' ORDER BY data desc,hour desc 使用表指定列名称并使用别名.因此,像以前一样对所有列进行SELECT *,现在将thread.id_thread和别名替换为mycol.现在可以作为mycol使用,而且没有更多的名字冲突. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |