include("mysql_connect.php");
if ($_POST['nr'] != "") {
$snr = $_POST['nr'];
} else {
$snr = "TEMP".rand(1000,9999);
echo $snr;
}
$query = "
CREATE TABLE `".$snr."` (
`id` INT(10) NOT NULL AUTO_INCREMENT,
`nr` VARCHAR(100) NULL,
`typ` VARCHAR(100) NULL,
`name` VARCHAR(100) NULL,
`vorname` VARCHAR(100) NULL,
`firma` VARCHAR(100) NULL,
`anrede` VARCHAR(100) NULL,
`adresse_typ` VARCHAR(100) NULL,
`adresse_strasse` VARCHAR(100) NULL,
`adresse_plz` VARCHAR(100) NULL,
`adresse_ort` VARCHAR(100) NULL,
`geb` VARCHAR(100) NULL,
`geb_name` VARCHAR(100) NULL,
`telefon_nr` VARCHAR(100) NULL,
`telefon_typ` VARCHAR(100) NULL,
`telefon_name` VARCHAR(100) NULL,
`fax_nr` VARCHAR(100) NULL,
`fax_typ` VARCHAR(100) NULL,
`fax_name` VARCHAR(100) NULL,
`email` VARCHAR(100) NULL,
`email_name` VARCHAR(100) NULL,
`homepage` VARCHAR(100) NULL,
`checkbox` VARCHAR(100) NULL,
PRIMARY KEY (`id`)
)
COLLATE='latin1_swedish_ci'
ENGINE=MyISAM
ROW_FORMAT=DEFAULT
AUTO_INCREMENT=1
";
$result = mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
Mysql & Php: Incorrect Table Name
#1
geschrieben 01. Juni 2010 - 10:02
Anzeige
#2
geschrieben 01. Juni 2010 - 10:15
#3
geschrieben 01. Juni 2010 - 10:41
#4
geschrieben 01. Juni 2010 - 10:42
@Stefan24 Gib $query vorher mal aus und poste ihn hier. Meine Vermutung ist dass $_POST['nr'] ungültige Zeichen enthält. Im übrigen: http://de.wikipedia....L-Injection#PHP
#5
geschrieben 01. Juni 2010 - 10:46
CREATE TABLE `TEMP2315` ( `id` INT(10) NOT NULL AUTO_INCREMENT, `nr` VARCHAR(100) NULL, `typ` VARCHAR(100) NULL, `name` VARCHAR(100) NULL, `vorname` VARCHAR(100) NULL, `firma` VARCHAR(100) NULL, `anrede` VARCHAR(100) NULL, `adresse_typ` VARCHAR(100) NULL, `adresse_strasse` VARCHAR(100) NULL, `adresse_plz` VARCHAR(100) NULL, `adresse_ort` VARCHAR(100) NULL, `geb` VARCHAR(100) NULL, `geb_name` VARCHAR(100) NULL, `telefon_nr` VARCHAR(100) NULL, `telefon_typ` VARCHAR(100) NULL, `telefon_name` VARCHAR(100) NULL, `fax_nr` VARCHAR(100) NULL, `fax_typ` VARCHAR(100) NULL, `fax_name` VARCHAR(100) NULL, `email` VARCHAR(100) NULL, `email_name` VARCHAR(100) NULL, `homepage` VARCHAR(100) NULL, `checkbox` VARCHAR(100) NULL, PRIMARY KEY (`id`) ) COLLATE='latin1_swedish_ci' ENGINE=MyISAM ROW_FORMAT=DEFAULT AUTO_INCREMENT=1
Invalid query: Incorrect table name ''
#6
geschrieben 01. Juni 2010 - 10:53
Zitat
$snr= '', $snr ist somit leer.
Prüfe die Variable daher so:
if (!empty($_POST['nr'])) {
$snr = mysql_real_escape_string($_POST['nr']);
}
#7
geschrieben 01. Juni 2010 - 11:01
if (!empty($_POST['nr'])) {
$snr = mysql_real_escape_string($_POST['nr']);
} else {
$snr = mysql_real_escape_string("TEMP".rand(1000,9999));
}
Aber noch immer das gleiche Problem wie vorher. Ist POST leer gibts nen Fehler, ist POST nicht leer, klappts.
Dieser Beitrag wurde von Stefan24 bearbeitet: 01. Juni 2010 - 11:02
#8
geschrieben 01. Juni 2010 - 11:10
if (isset($_POST['nr']) && !empty($_POST['nr'])) { ...
#9
geschrieben 01. Juni 2010 - 11:13
Dieser Beitrag wurde von Stefan24 bearbeitet: 01. Juni 2010 - 11:13
- ← Bash Script / Linux
- Skript/Web-Programmierung
- [mysql & Php] Mysql Datensätze Spaltenweise Speichern →

Hilfe
Neues Thema
Antworten


Nach oben



