私はphp関数を持っています
function insertIntoDb($db, $table) {
mysql_select_db($db) or die("Could not select database. " . mysql_error());
$resultInsert = mysql_query("SHOW COLUMNS FROM " . $table);
$fieldnames=array();
if (mysql_num_rows($resultInsert) > 0) {
while ($row = mysql_fetch_array($resultInsert)) {
$fieldnames[] = $row['Field'];
$values = array_intersect_key( $_POST, array_flip($fieldnames) ); #check if value is null otherwise do not INSERT
}
}
$sql = sprintf('INSERT INTO %s (%s) VALUES ("%s")', $table,
implode(', ', array_map('mysql_escape_string', array_keys($values))), implode('", "',array_map('mysql_escape_string', $values)));
mysql_query($sql);
echo '<div class="success">Data was entered into the database successfully!<br><a href="view.php?type=recent">View listing?</a></div>';
}
基本的に、テーブルの列を使用してユーザーフォームのフィールドを生成し、同じ方法を使用してテーブルに挿入しています。現在は機能していますが、テーブルに挿入する前に、入力された値が空 (たとえば、ユーザーがフィールドに入力していないなど) かどうかを確認するにはどうすればよいですか?