Hallo miteinander,
ich bin schlicht am verzweifeln
Zum System: hab EasyPHP mit PHP 5.2 und MySQL 5.0.27
Ich bekomm die Fehlermeldung:
Lost connection to MySQL server during query
bei Inserts, was ich echt nicht kapier.
Hab bisher immer nur mit Standard MySQL Anfragen gearbeitet, aber jetzt brauch ich für ein Studienprojekt Foreign Keys, Transaktionen.
Drum benutz ich MySQLI in PHP und InnoDB Tables.
Sieht dan folgendermaßen aus:
ich mach erst ein paar Create Tables in ner Transaktion (mit oder ohne Transaktion ändert nix am Fehler) und danach Inserts.
An der Syntax stimmt alles, wenn ich die direkt in phpmyadmin eingeb, dann klappts auch.
Nur in meiner "setup.php" wills nicht funktionieren weil der anscheinend immer die Connection verliert! Ich blicks ned!
Ich mach sogar direkt vor den Inserts nochmal die Connection auf, das hilft auch nix!
Hab die Standardeinstellungen von EasyPHP, hab auch gelesen, dass der StandardTimeout bei 8 Stunden liegt... ich peils nicht
Bin um jede Hilfe dankbar!
Konkret mein Code:
ich bin schlicht am verzweifeln
Zum System: hab EasyPHP mit PHP 5.2 und MySQL 5.0.27
Ich bekomm die Fehlermeldung:
Lost connection to MySQL server during query
bei Inserts, was ich echt nicht kapier.
Hab bisher immer nur mit Standard MySQL Anfragen gearbeitet, aber jetzt brauch ich für ein Studienprojekt Foreign Keys, Transaktionen.
Drum benutz ich MySQLI in PHP und InnoDB Tables.
Sieht dan folgendermaßen aus:
ich mach erst ein paar Create Tables in ner Transaktion (mit oder ohne Transaktion ändert nix am Fehler) und danach Inserts.
An der Syntax stimmt alles, wenn ich die direkt in phpmyadmin eingeb, dann klappts auch.
Nur in meiner "setup.php" wills nicht funktionieren weil der anscheinend immer die Connection verliert! Ich blicks ned!
Ich mach sogar direkt vor den Inserts nochmal die Connection auf, das hilft auch nix!
Hab die Standardeinstellungen von EasyPHP, hab auch gelesen, dass der StandardTimeout bei 8 Stunden liegt... ich peils nicht
Bin um jede Hilfe dankbar!
Konkret mein Code:
PHP-Code:
$link = mysqli_connect($host, $dbuser, $dbpw, $db);
echo mysqli_error($link);
if ($link) echo "connection ok";
$createTables = "
START TRANSACTION;
CREATE TABLE ".$prefix."_muscle (
muscle_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
muscle_name VARCHAR(255) NOT NULL
) ENGINE = innodb;
CREATE TABLE ".$prefix."_equipment (
equip_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
equip_name VARCHAR(255) NOT NULL
) ENGINE = innodb;
CREATE TABLE ".$prefix."_level (
level_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
level_name VARCHAR(255) NOT NULL
) ENGINE = innodb;
CREATE TABLE ".$prefix."_exercise (
ex_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
ex_name VARCHAR(255) NOT NULL,
partner BOOL NOT NULL ,
description TEXT NOT NULL ,
image VARCHAR( 255 ) ,
rank FLOAT ,
lastupdate DATETIME NOT NULL
) ENGINE = innodb;
CREATE TABLE ".$prefix."_exercise_has_equip (
ex_id INT UNSIGNED NOT NULL,
equip_id INT UNSIGNED NOT NULL,
FOREIGN KEY (ex_id) REFERENCES ".$prefix."_exercise(ex_id),
FOREIGN KEY (equip_id) REFERENCES ".$prefix."_equipment(equip_id)
) ENGINE=innodb;
CREATE TABLE ".$prefix."_exercise_has_muscle (
ex_id INT UNSIGNED NOT NULL,
muscle_id INT UNSIGNED NOT NULL,
FOREIGN KEY (ex_id) REFERENCES ".$prefix."_exercise(ex_id),
FOREIGN KEY (muscle_id) REFERENCES ".$prefix."_muscle(muscle_id)
) ENGINE=innodb;
CREATE TABLE ".$prefix."_exercise_has_level (
ex_id INT UNSIGNED NOT NULL,
level_id INT UNSIGNED NOT NULL,
FOREIGN KEY (ex_id) REFERENCES ".$prefix."_exercise(ex_id),
FOREIGN KEY (level_id) REFERENCES ".$prefix."_level(level_id)
) ENGINE=innodb;
COMMIT;
";
echo "Create Tables:<br>".$createTables."<p>";
$link = mysqli_connect($host, $dbuser, $dbpw, $db);
echo mysqli_error($link);
if ($link) echo "connection ok";
mysqli_multi_query($link, $createTables);
echo mysqli_error($link);
$inserts = "
INSERT INTO ".$prefix."_muscle (muscle_name) VALUES ('Bizeps'),
('Trizeps'), ('Bauch oben'), ('Bauch unten'), ('Bauch seite'), ('Brust'),
('Schulter'), ('Oberschenkel'), ('Waden'), ('Trapez'), ('Latissimus'),
('Unterarm'), ('Oberschenkel hinten'), ('Gesäß');
INSERT INTO ".$prefix."_equipment (equip_name) VALUES
('Langhantel'), ('Kurzhantel'), ('Tube'), ('GymBall');
INSERT INTO ".$prefix."_level (level_name) VALUES ('Anfänger'),
('Fortgeschritten'), ('Profi');
";
echo "Inserts:<br>".$inserts."<br>";
mysqli_multi_query($link, $inserts);
echo mysqli_error($link);
Kommentar