Ошибки с внутренним соединением
Я должен объединить три таблицы вместе, чтобы иметь возможность представить запрос, но я не уверен, как это сделать, я продолжаю получать ошибки и не уверен в причине этого.
PHP-код, который мне дали, таков :
<html> <body> <link rel="stylesheet" href="laporan.css"> <?php $pendaftaran = $_POST["kod_pendaftaran"]; $con = mysqli_connect("localhost","root",""); if (!$con) die('SAMBUNGAN TDK BERJAYA'.mysql_connect_error()); mysqli_select_db($con, "spak"); print"<h3>SENARAI MAKLUMAT PENDAFTARAN </h3>"; print"<h3> MAKLUMAT PENDAFTARAN: ".$pendaftaran."</h3>"; print"<table border = '1'>"; print"<tr>"; print"<th>kod_pendaftaran</th>"; print"<th>nama_pelajar</th>"; print"<th>tingkatan</th>"; print"<th>kelas</th>"; print"<th>nama_kelab</th>"; print"<th>guru_penasihat</th>"; print"<th>tarikh_daftar</th>"; print"</tr>"; $sql = "select pendaftaran.kod_pendaftaran, maklumat_pelajar.nama_pelajar, maklumat_pelajar.tingkatan, maklumat_pelajar.kelas, maklumat_kelab.nama_kelab, maklumat_kelab.guru_penasihat, maklumat_kelab.tarikh_daftar from ((pendaftaran inner join maklumat_pelajar on pendaftaran.id_pelajar = maklumat_pelajar.id_pelajar) inner join maklumat_kelab on pendaftaran.kod_kelab = maklumat_kelab.kod_kelab) WHERE kod_kelab = "."'".$pendaftaran."'"; $result = mysqli_query($con,$sql); while ($row = mysqli_fetch_array($result)) { echo' <tr> <td>'.$row["kod_pendaftaran"].'</td> <td>'.$row["nama_pelajar"].'</td> <td>'.$row['tingkatan'].'</td> <td>'.$row["kelas"].'</td> <td>'.$row["nama_kelab"].'</td> <td>'.$row["guru_penasihat"].'</td> <td>'.$row["tarikh_daftar"].'</td> </tr>'; } print"</table>"; ?> </body> </html>
и HTML-страница :
<html> <body> <link rel="stylesheet" href="laporan.css"> <h3> SENARAI AHLI KELAB</h3> <form action = "query3table1.php" method ="post"> PILIH KELAB : <select id= "kod_pendaftaran" name="kod_pendaftaran"> <option value="K01">Kelab Pengguna</option> <option value="K02">Kelab Kerjaya</option> <option value="K03">Kelab Kesenian dan Kebudayaan</option> <option value="K04">Kelab Pelancongan dan Fotografi</option> <option value="K05">Kelab Tunas Bestari/ Keusahawanan</option> <option value="K06">Kelab Pencegahan Jenayah</option> <option value="K07">Kelab Pertanian</option> <option value="K08">Kelab Pusat Sumber</option> <option value="K09">Kelab Koperatif Muda</option> <option value="K10">Kelab MUET</option> <option value="K11">Kelab Debat</option> </select> <input type ="submit" value="Cari" name="submit"> </form> </body> </html>
Что я уже пробовал:
Я пробовал переключать кодировку с теми, которые нашел в интернете, но это, похоже, не работает.
David_Wimbley
Без детализации того, что это за ошибка, никто действительно не сможет вам помочь, поскольку мы не можем запустить ваш код, так как у нас нет доступа к вашему компьютеру или вашим серверам.
Вы должны обновить свой вопрос с тем, что ваше сообщение об ошибке и, если это возможно, разместить свою схему БД с некоторыми образцами данных, чтобы было легко реплицировать ваши ошибки соединения.
Richard Deeming
"... WHERE kod_kelab = "."'".$pendaftaran."'"
Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов | OWASP[^]
PHP: SQL-инъекция - руководство пользователя[^]
РНР: Подготовленные инструкции и хранимые процедуры - руководство пользователя[^]