まず、変数とテキストはドイツ語ですので、問題ありません。 これは私の最初の質問です、私の最初のクエリは正常に動作します。私は正確に他の人がうまくいかない理由を知っていませんが、私はそれが複数の質問のためだと思います!PHP - 最初のクエリは機能しますが、他のクエリは機能しません
私はプログラミングがかなり新しいです。
これは私のパレットのデータベースを更新するための私のPHPです!
<?php
// SQL Login
$host = "localhost";
$user = "name";
$password = "password";
$db = "test_nico";
$mysqli = new mysqli($host, $user, $password, $db) or die (mysqli_error());
if (!$mysqli) { echo 'SQL Server nicht gefunden oder Zugangsdaten passen nicht!';};
$mysqli->query("SET NAMES 'utf8'");
if ($mysqli->connect_errno) {
die("Verbindung fehlgeschlagen: " . $mysqli->connect_error);
}
// Tauschpartner ID
$id = $_POST['id'];
// Eingang
$eingang_pgp = $_POST['eingang_pgp'];
$eingang_pfp = $_POST['eingang_pfp'];
$eingang_klt = $_POST['eingang_klt'];
$eingang_halbe = $_POST['eingang_halbe'];
$eingang_viertel = $_POST['eingang_viertel'];
// Ausgang
$ausgang_pgp = $_POST['ausgang_pgp'];
$ausgang_pfp = $_POST['ausgang_pfp'];
$ausgang_klt = $_POST['ausgang_klt'];
$ausgang_halbe = $_POST['ausgang_halbe'];
$ausgang_viertel = $_POST['ausgang_viertel'];
// Query
$search = "SELECT * FROM tauschpartner";
$result = mysqli_query($mysqli, $search);
while($row = mysqli_fetch_array($result)) {
$tid = $row['id'];
$firma_array[$tid] = $row['firma'];
$pfp_array[$tid] = $row['pfp'];
$pgp_array[$tid] = $row['pgp'];
$klt_array[$tid] = $row['klt'];
$halbe_array[$tid] = $row['halbe'];
$viertel_array[$tid] = $row['viertel'];
}
// Bestand
$pgp_bestand = $pgp_array[$id];
$pfp_bestand = $pfp_array[$id];
$klt_bestand = $klt_array[$id];
$halbe_bestand = $halbe_array[$id];
$viertel_bestand = $viertel_array[$id];
// Berechnung
$pgp = $pgp_bestand + $eingang_pgp - $ausgang_pgp;
$pfp = $pfp_bestand + $eingang_pfp - $ausgang_pfp;
$klt = $klt_bestand + $eingang_klt - $ausgang_klt;
$halbe = $halbe_bestand + $eingang_halbe - $ausgang_halbe;
$viertel = $viertel_bestand + $eingang_viertel - $ausgang_viertel;
// SQL Query
$sql_query = "UPDATE tauschpartner SET pfp = $pfp, pgp = $pgp, klt = $klt, halbe = $halbe, viertel = $viertel WHERE id = $id";
$sql = mysqli_query($mysqli, $sql_query);
echo "ID: ".$id."\n";
echo "eingang_pgp: ".$eingang_pgp."\n";
echo "eingang_pfp: ".$eingang_pfp."\n";
echo "eingang_klt: ".$eingang_klt."\n";
echo "eingang_halbe: ".$eingang_halbe."\n";
echo "eingang_viertel: ".$eingang_viertel."\n";
echo "\n";
echo "ausgang_pgp: ".$ausgang_pgp."\n";
echo "ausgang_pfp: ".$ausgang_pfp."\n";
echo "ausgang_klt: ".$ausgang_klt."\n";
echo "ausgang_halbe: ".$ausgang_halbe."\n";
echo "ausgang_viertel: ".$ausgang_viertel."\n";
echo "\n";
echo "Bestand pgp: ".$pgp."\n";
echo "Bestand pfp: ".$pfp."\n";
echo "Bestand klt: ".$klt."\n";
echo "Bestand halbe: ".$halbe."\n";
echo "Bestand viertel: ".$viertel."\n";
echo "\n";
$sql_query_all = "SELECT SUM(pgp) AS pgp_all, SUM(pfp) AS pfp_all, SUM(klt) AS klt_all, SUM(halbe) AS halbe_all, SUM(viertel) AS viertel_all FROM tauschpartner WHERE ID != 1";
$sql = mysqli_query($mysqli, $sql_query_all);
while($row_all = mysqli_fetch_array($sql)) {
$pgp_bestand_all = $row['pgp_all'];
$pfp_bestand_all = $row['pfp_all'];
$klt_bestand_all = $row['klt_all'];
$halbe_bestand_all = $row['halbe_all'];
$viertel_bestand_all = $row['viertel_all'];
};
$sql_query_update_gd_bestand = "INSERT INTO tauschpartner SET pgp = $pgp_bestand_all, pfp = $pfp_bestand_all, klt = $klt_bestand, halbe = $halbe_bestand_all, viertel = $viertel_bestand_all WHERE id =1";
$sql = mysqli_query($mysqli, $sql_query_update_gd_bestand);
echo $row['viertel_all']."\n";
echo "GD Bestand pgp: ".$pgp_bestand_all."\n";
echo "GD Bestand pfp: ".$pfp_bestand_all."\n";
echo "GD Bestand klt: ".$klt_bestand_all."\n";
echo "GD Bestand halbe: ".$halbe_bestand_all."\n";
echo "GD Bestand viertel: ".$viertel_bestand_all;
echo "\n";
?>
私のクエリが機能しない理由を教えてもらえますか?予め
おかげで、ニコ
誤った挿入クエリ。 –
SQLインジェクションにご注意ください!クエリは準備されたステートメントではなく、簡単に挿入することができるため、ハッキングの危険があります。 – Sjenkie
2番目のクエリはどれですか(私はselectを見ることができます)? mysqli_error()を使ってエラーをチェックする。 – Jens