EDIT # 2: SQLfiddle
EDIT # 1: теперь я вижу все в полях, но не могу обновить. все запросы сами по себе работают.
У меня есть страница, на которой должна отображаться информация из базы данных для обновления. Запрос имеет несколько соединений. Сам запрос работает.
Я не получаю сообщение об ошибке (и обычные методы для получения скрытого или отключенного сообщения об ошибке не работают), поэтому я не знаю, что не так, но форма пуста и ничего не редактирует (иногда пустые формы редактировать информацию в пустые поля).
У меня были подобные проблемы много раз (и постоянно google все), и ошибки различаются, но ни одна из предыдущих вещей, с которыми мне приходилось иметь дело, по-видимому, является причиной.
Вот код:
<?php header('Content-type: text/html; charset=utf-8'); include "../config.php"; isset($_GET['idorg']) ? $idorg=$_GET['idorg'] : $idorg=''; isset($_GET['nameorg']) ? $nameorg=$_GET['nameorg'] : $nameorg=''; isset($_GET['typeorg']) ? $typeorg=$_GET['typeorg'] : $typeorg=''; isset($_GET['emailorg']) ? $emailorg=$_GET['emailorg'] : $emailorg=''; isset($_GET['cperorg']) ? $cperorg=$_GET['cperorg'] : $cperorg=''; isset($_GET['conorg']) ? $conorg=$_GET['conorg'] : $conorg=''; isset($_GET['comorg']) ? $comorg=$_GET['comorg'] : $comorg=''; isset($_GET['idci']) ? $idci=$_GET['idci'] : $idci=''; isset($_GET['nameci']) ? $nameci=$_GET['nameci'] : $nameci=''; isset($_GET['nameco']) ? $nameco=$_GET['nameco'] : $nameco=''; isset($_GET['idco']) ? $idco=$_GET['idco'] : $idco=''; isset($_GET['submit']) ? $submit=true : $submit=false; if(!$submit) { $query = "select dISTINCT org.idorg, org.nameorg, org.typeorg, org.emailorg, org.cperorg, org.conorg, org.comorg, idci, country.nameco, city.nameci, idco from org join city on city.idci=org.city_idci JOIN country on country.idco=org.city_country_idco where idorg=? group by idorg "; if($stmt = $mysqli->prepare($query)) { $stmt-> bind_param("i", $idorg); $stmt->execute(); $stmt->bind_result($idorg, $nameorg, $typeorg, $emailorg, $cperorg, $conorg, $comorg, $idci,$nameci, $nameco, $idco); $stmt->fetch(); $stmt->close(); $mysqli->close(); echo' <!DOCTYPE html> <html> <head> <style>h1{color:red;}label{color:darkred;}</style> <title>Edit user</title> <meta charset=”UTF-8”> </head> <body> <h1>Edit organisation:</h1> <form action="" method="GET"> <label>ID </label><input readonly name="idorg" value="'.$idorg.'"><br> <label>Name org </label><input type="text" name="nameorg" value="'.$nameorg.'"><br> <label>Type </label><input type="text" name="typeorg" value="'.$typeorg.'"><br> <label>e-mail </label><input type="text" name="emailorg" value="'.$emailorg.'"><br> <label>contact person </label><input type="text" name="cperorg" value="'.$cperorg.'"><br> <label>contact</label><input type="text" name="conorg" value="'.$conorg.'"><br> <label>comment </label><input type="text" name="comorg" value="'.$comorg.'"><br> <label>cityID </label><input readonly name="idci" value="'.$idci.'"><br> <label>city </label><input type="text" name="nameci" value="'.$nameci.'"><br> <label>country </label><input type="text" name="nameco" value="'.$nameco.'"><br> <label>countryID </label><input readonly name="idci" value="'.$idco.'"><br> <input type="reset" value="clear"> <input type="submit" value="add" name="submit"><br> </form> </body> </html> '; } }else{ $query1 = "UPDATE org join city on city.idci=org.city_idci JOIN country on country.idco=org.city_country_idco SET nameorg=?, typeorg=?, nameco=?, nameci=? emailorg=?, cperorg=?, conorg=?, comorg=?, idci=?, idco=? WHERE idorg=?"; if($stmt = $mysqli->prepare($query1)) { $stmt->bind_param('ssssssssiii', $nameorg, $typeorg,$nameco, $nameci, $emailorg, $cperorg, $conorg, $comorg, $idci, $idco, $idorg); $stmt->execute(); $stmt->close(); } $mysqli->close(); header('Location: view.php'); //echo "<a href='view.php'>back</a>"; } ?>
Вот диаграмма EER базы данных.
Заранее спасибо 🙂