Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将预订记录插入php数据库_Php_Mysql_Database_Phpmyadmin_Insert - Fatal编程技术网

将预订记录插入php数据库

将预订记录插入php数据库,php,mysql,database,phpmyadmin,insert,Php,Mysql,Database,Phpmyadmin,Insert,我已经创建了一个住房预订表。用户填写并提交表单。应该创建一个预订记录,然后将其插入预订表中 这是作为记录插入数据库的代码 $reservationsTable = "Reservations"; $r1 = (rand(11111,99999)); createReservationRecord($reservationsTable, [$r1, $date,$dormRecord[id], $_POST["CWID"], $_POST["firstName"], $_POST["lastNa

我已经创建了一个住房预订表。用户填写并提交表单。应该创建一个预订记录,然后将其插入预订表中

这是作为记录插入数据库的代码

$reservationsTable = "Reservations";
$r1 = (rand(11111,99999));

createReservationRecord($reservationsTable, [$r1, $date,$dormRecord[id], $_POST["CWID"], $_POST["firstName"], $_POST["lastName"], $_POST["class"], $_POST["gender"], $_POST["fullyEquippedKitchen"], $_POST["laundry"], $_POST["specialNeeds"]]);
以下是转换此数据的函数:

 function createRecord($table, $values) {
    echo "This is working";
    return insertInto($table, ["name","class","specialNeeds","laundry","fullyEquippeKkitchen","roomsAvailable","roomsReserved","roomCapacity"], $values);

}

function createReservationRecord($table, $values) {
    echo "<br> in createReservationRecord(), table is \"$table\", values are ".print_r ($values)."\n<br>";
    return insertInto($table, ["id","reservationTime","ra_id","CWID","firstName","lastName","class", "gender","kitchen", "laundry", "specialNeeds"], $values);
}

function insertInto($table, $columns, $values) {
    $sql = "INSERT INTO $table (" . implode(", ", $columns) . ") VALUES (" . implode(", ", $values) . ")";
    echo "Inserting a new record with SQL Statement: $sql\n<br>";
    return query($sql);
}
函数createRecord($table,$values){
回声“这是工作”;
返回insertInto($table、[“name”、“class”、“specialNeeds”、“droyment”、“fullyEquippeKkitchen”、“roomsavaailable”、“roomsReserved”、“roomCapacity”],$value);
}
函数createReservationRecord($table,$values){
echo“
在createReservationRecord()中,表是\“$table\”,值是“.print\r$values”。“\n
”; 返回insertInto($table,[“id”,“reservationTime”,“ra_id”,“CWID”,“firstName”,“lastName”,“class”,“gender”,“kitchen”,“browsing”,“specialNeeds”],$value); } 函数insertInto($table、$columns、$values){ $sql=“插入到$table(“.implode(“,”,$columns)。”)值(“.implode(“,”,$VALUES)。”); echo“使用SQL语句插入新记录:$SQL\n
”; 返回查询($sql); }

当我使用print_r($values)检查值数组时,它只返回1。我只是不确定为什么插入的数据读取错误。

我看不出代码中有错误,但请尝试

$sql = "INSERT INTO ". $table." (" . implode(", ", $columns) . ") VALUES (" . implode(", ", $values) . ")";

在此处更改,在cumn中使用回勾,在值中使用单引号

   $sql = "INSERT INTO $table (`" . implode("`, `", $columns) . "`) VALUES ('" . implode("', '", $values) . "')";

为什么有这么多的数据库抽象?在完成了所有这些之后,您将对SQL注入敞开大门。删除所有这些并使用PDO这只是为了在插入数据时可以看到数据,并且当我确定没有错误时,我可以压缩代码。将工作加倍或加倍以生成错误代码。第一次把它弄好,这东西充满了虫子,你也在这里重新发明轮子。您正在构建的是ORM的一种形式,并且已经有很多ORM正在工作、测试,如果您遇到困难,还可以获得社区支持。请看,并作为示例。不要试着自己动手,否则你只会犯一大堆错误,这会让你付出巨大的代价。这里最大的问题是鲁莽的缺乏,这导致了许多错误。