Ich habe ein Array von Spaltennamen und Spalten Datentypen und jetzt möchte ich eine MySQL-Tabelle mit diesen beiden Arrays erstellen. Hier ist mein Code so weit:Wie mysql Tabelle dynamisch mit PHP erstellen?
<?php
//print_r($_GET);
$col_names=[]; //this will store column names received from user
$col_types=[];//this will store column data types selected by user
if(isset($_GET['col_num'])){
$table_name=$_GET['table_name'];
$n=$_GET['col_num'];
for($i=0;$i<$n;$i=$i+1){
$index_names = "col".$i;
$index_type = "type".$i;
$col_names[$i] = $_GET[$index_names];
$col_types[$i] = $_GET[$index_type];
}
}
$con=mysqli_connect('localhost','root');
if(!$con){
die("Error conncecting: ". mysqli_error($con));
}
else{
mysqli_select_db($con,'temp');
$query = "CREATE TABLE $table_name (
for($i=0; $i<$n ;$i=$i+1)
{
echo "$col_names[$i]" . " " . "$col_types[$i]" . "(10)"
}
);";
/*
If suppose the col_names array contains : [Name,Age] and col_types contains: [Varchar,Int] then i need these two attributes to be incorporated in my Create query and so i have put them in a for loop.
*/
mysqli_query($query);
}
?>
Jetzt weiß ich, dass etwas nicht stimmt mit dem „Create Query“, die ich geschrieben habe, aber ich bin nicht in der Lage, herauszufinden, wie die query.Also zu gestalten, wie soll ich das Komma platzieren im Falle von mehreren Spalten?
PHP-Syntax ist nicht gut .. einige Tutorial versuchen, wie String –
verketten Was CREATE TABLE table_name $ ist ( for ($ i = 0 ; $ i <$ n; $ i = $ i + 1) 'Bitte tun Sie? Bitte Code einrücken und parametrisierte Abfragen verwenden. – chris85
Ich habe viele Tutorials durchlaufen, aber ich bin nicht in der Lage, den Fehler zu wählen! Auch Ich bin nicht sicher, wie man ein Komma nach jedem Spaltennamen und Datentyp hinzufügen @ChetanAmeta –