簡體   English   中英

php形式:無法更新數據庫,多次連接查詢

[英]php form: cannot update the database, query with multiple join

編輯#2: SQLfiddle

編輯#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圖

先感謝您 :)

為什么使用
if(!$ submit)???

可能是
如果($提交)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM