Ich habe 150 Variablen von $qA01_1
bis $qA30_5
. Variablen können für jede Sitzung zufällig die Werte 0 oder 1 oder 5 haben. Ich möchte alle Variablen auswählen, die den Wert 1 haben und in die Datenbank speichern (Tabelle "eins"). Das Gleiche gilt für den Wert 0 (Tabelle "Null") und 5 (Tabelle "Fünf"). Können Sie mir bitte mit meinem Code helfen? Es tut mir leid für mein Englisch. Hoffe, alles ist klar.Wie bekomme ich alle Zahlen 1 aus dem Array und speichere sie in der DB?
Hier ist meine verkürzte Array:
<?php
session_start();
// variables from
$qA01_1 = $_SESSION['qA01_1'];
$qA01_2 = $_SESSION['qA01_2'];
$qA01_3 = $_SESSION['qA01_3'];
$qA01_4 = $_SESSION['qA01_4'];
$qA01_5 = $_SESSION['qA01_5']
// up to
$qA30_1 = $_SESSION['qA30_1'];
$qA30_2 = $_SESSION['qA30_2'];
$qA30_3 = $_SESSION['qA30_3'];
$qA30_4 = $_SESSION['qA30_4'];
$qA30_5 = $_SESSION['qA30_5'];
?>
Mein verkürzten Code (funktioniert nicht) nur für Variablen $qA01_1
bis zu $qA01_5
:
<?php
$connect = @MySQL_Connect('localhost', 'root', ' ', 'db');
$vars = get_defined_vars();
foreach ($vars as $varName => $varValue) {
if (strpos($varName, 'qA') !== false && $varValue === 1) {
mysqli_query($connect, "INSERT INTO one ((ifnull(qA01_1, 0) + ifnull(qA01_2, 0) + ifnull(qA01_3, 0) + ifnull(qA01_4, 0) + ifnull(qA01_5, 0)) VALUES ('" .$varName. "', '" .$varValue. "')");
}
}
?>
Willkommen bei Stackoverflow! Sie scheinen sowohl 'MySQL' als auch' MySQLi' zu mischen, so dass Sie bei der Abfrage nichts einfügen. Bitte beachten Sie, dass MySQL ab PHP 5.5 nicht mehr unterstützt wird. Verwenden Sie stattdessen MySQLi (oder PDO): mysqli_connect ('localhost', 'root', '', 'db'); '. –
Verbindung geändert. Neue Verbindung ist jetzt: $ connect = mysqli_connect ('localhost', 'root', '', 'db'); Aber immer noch nicht funktionieren. Ich denke, dass ich ein anderes Problem habe. – Nezdecek