我在PHP中做了一個簡單的例子,目標只是將數組的值插入到數據庫中。字段名稱是數組鍵,字段值是數組值。我選擇面向對象的風格進行查詢,因爲我正在練習面向對象。當我打開它時,問題是這樣的:代碼只接受數組的第一個索引,即「名稱」;它應該接受四個值,因爲該表由四個字段(名稱,電子郵件,用戶名,密碼)組成。現在數據庫中的結果只有名稱字段有值,其餘字段爲空。下面是代碼:foreach循環只接受數組的第一個索引
<?php
class User {
public static function insert($table, $table_fields = array()) {
if(count($table_fields)) {
foreach($table_fields as $field_name => $field_value) {
return "INSERT INTO $table ($field_name) VALUES ('$field_value')";
}
}
return false;
}
}
$connect = mysqli_connect('localhost', 'root', '', 'sample');
mysqli_query($connect, User::insert('users', array(
'name' => 'Sample Name',
'email' => '[email protected]',
'username' => 'sampleusername',
'password' => '12345'
)));
?>
我想知道什麼是錯我的代碼,它會給我更加感激,如果你給我相應的改進建議。
第一次返回將結束函數執行。 – Phiter
你正在試圖創建自己的活動記錄功能,你應該查看一個已經存在的記錄,比如[PHP ActiveRecord](http://www.phpactiverecord.org/) – Phiter
另外,不要構建*手動查詢*,**總是**使用[準備好的語句](https://php.net/manual/mysqli.quickstart.prepared-statements.php)。 – Yoshi