note 77949 added to function.mysql-query
| From: | patrick at ciphertek dot com | Date: | Fri, 21 Sep 2007 05:28:00 +0000 |
| Subject: | note 77949 added to function.mysql-query | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-130648@lists.php.net to get a copy of this message | ||
If you spend a lot of time writing pages that take input from a form and insert it into a database,
this function will save you time!
Please Note: You have to name your form fields the same as their corresponding table column is named
in mysql for this to work.
<?php
// $table - name of the mysql table you are querying
// $exceptions - fields that will not be inserted into table
// i.e. 'submit, action, '; (note trailing comma and space!)
// $sql_type - has to be 'insert' or 'update'
// $sql_condition - have to define this if $sql_type = 'update'
// i.e. "userID = '".$_POST['userID']."'"
function formToDB($table, $exceptions = '', $sql_type = 'insert', $sql_condition
= NULL) {
// define some vars
$fields = '';
$values = '';
// format input fields into sql
foreach ($_POST as $field => $value) {
if (!preg_match("/$field, /", $exceptions)) {
$value = mysql_real_escape_string($value);
if ($sql_type == 'insert') {
$fields .= "$field, ";
$values .= "'$value', ";
}
else {
$fields .= "$field = '$value', ";
}
}
}
// remove trailing ", " from $fields and $values
$fields = preg_replace('/, $/', '', $fields);
$values = preg_replace('/, $/', '', $values);
// create sql statement
if ($sql_type == 'insert') {
$sql = "INSERT INTO $table ($fields) VALUES ($values)";
}
elseif ($sql_type == 'update') {
if (!isset($sql_condition)) {
echo 'ERROR: You must enter a sql condition!';
exit;
}
$sql = "UPDATE $table SET $fields WHERE $sql_condition";
}
else {
echo 'ERROR: Invalid input for argument $sql_type: must be "insert" or
"update"';
exit;
}
// execute sql
if (mysql_query($sql)) {
return true;
}
else {
//echo mysql_error();
return false;
}
} // end of function formToDB()
// Example for inserting new row
formToDB('users', 'submit, ');
// Example for updating existing row
formToDB('users', 'submit, userID, ', 'update', "userID =
'".$_POST['userID']."'");
?>
----
Server IP: 209.41.74.194
Probable Submitter: 204.116.127.137
----
Manual Page -- http://www.php.net/manual/en/function.mysql-query.php
Edit -- https://master.php.net/note/edit/77949
Del: integrated -- https://master.php.net/note/delete/77949/integrated
Del: useless -- https://master.php.net/note/delete/77949/useless
Del: bad code -- https://master.php.net/note/delete/77949/bad+code
Del: spam -- https://master.php.net/note/delete/77949/spam
Del: non-english -- https://master.php.net/note/delete/77949/non-english
Del: in docs -- https://master.php.net/note/delete/77949/in+docs
Del: other reasons-- https://master.php.net/note/delete/77949
Reject -- https://master.php.net/note/reject/77949
Search -- https://master.php.net/manage/user-notes.php