【发布时间】:2011-08-05 13:22:34
【问题描述】:
我有以下 html:
<label for="live">Live</label>
<input type="checkbox" name="live" id="live" />
如何使用 SQL INSERT 将text value of selected = '1'/ 或 text value of unchecked = '0' 保存到数据库?
非常感谢任何建议。
PHP 处理 html 表单(此时 'live' 是一个输入):
<?php
//Start session
session_start();
//Include database connection details
require_once('../inc/config.php');
//Connect to mysql server
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link) {
die('Failed to connect to server: ' . mysql_error());
}
if($link) {
echo "DB SUCESS <br />";
}
//Select database
$db = mysql_select_db(DB_DATABASE);
if(!$db) {
die("Unable to select database");
}
if($db){ echo "TABLE SUCCESS<br />"; }
//Function to sanitize values received from the form. Prevents SQL injection
function clean($str) {
$str = @trim($str);
if(get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
return mysql_real_escape_string($str);
}
//Sanitize the POST values
$live = clean($_POST['live']);
$content = clean($_POST['content']);
//Create INSERT query
$qry = "INSERT INTO news(live, content) VALUES('$live','$content') ";
$result = @mysql_query($qry);
//Check whether the query was successful or not
if($result) {
//header("location: ../form/register-success.php");
echo "Succes";
exit();
}else {
die("Query failed");
}
?>
【问题讨论】:
-
如果这就是你所拥有的一切,那么你还有很长的路要走。你有什么 PHP 代码?您是否尝试过任何用于数据库交互的 PHP 函数?你的数据库的架构是什么?您是使用标准表单提交,还是想使用 AJAX?
-
@matt 是的,对不起.. 一秒钟。 DB 有一个表,其列 'live' VARCHART 1 个字符长。 PHP 代码是一个单独的文件 - 没有 AJAX。
-
@hakre - 您提交的示例完全不同,涉及一些循环。
-
@Pete:那么代码能走多远?你得到什么错误?你用过
mysql_error()吗?