我是PHP的新手,遇到了一些麻烦。我有一个使用HTML的表单,即action = .php method = post
表单正在使用文本框和选择选项,我不确定它是否会对sqldatabase产生影响。我已经尝试了这个脚本的大约30种不同的组合,只能获得连接成功的消息,但没有发布任何内容。
<?php
$link = mysql_connect('everybodyslistcom.ipagemysql.com', 'accounts', 'accounts');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_select_db("user");
$FName = $_POST["FName"];
$LName = $_POST["Lname"];
$Phone = $_POST["Phone"];
$EmailAddress = $_POST["EmailAddress"];
$Month = $_POST["Month"];
$Day = $_POST["Day"];
$Year = $_POST["Year"];
$Username = $_POST["Username"];
$Password = $_POST["Password"];
$sql = 'INSERT INTO Members (ID, FName, LName, Phone, EmailAddress, Month, Day, Year, Username, Password) VALUES'
. '(\'\', \'$FName\', \'$LName\', \'$Phone\', \'$EmailAddress\', \'$Month\', \'$Day\', \'$Year\', \'$Username\', \'$Password\')';
mysql_close();
php?>
答案 0 :(得分:4)
尝试执行您的查询
mysql_query($sql);
编辑:我看到你这样做了:
$sql = 'SELECT bla bal $variable';
PHP不会解析变量。正确的方法:
$sql = "SELECT bla bla $variable"; // valid
$sql = "SELECT bla bla {$variable}"; // also valid
$sql = 'SELECT bla bla '.$variable; // also valid
答案 1 :(得分:2)
你的关闭php标签不正确,应该是
?>
而不是
php?>
您也不会使用以下方式执行查询:
mysql_query('your query here');
这可能会导致问题。
答案 2 :(得分:1)
答案 3 :(得分:1)
你说你的表单字面上包含“action = .php”,你必须把它变成:
<form name="form_name" method="post" action="your_script.php">
答案 4 :(得分:0)
您还需要执行查询: mysql_query($ sql,$ link);
答案 5 :(得分:0)
你还应该检查POST是否真的发送过:
if (!empty($_POST)) {
// ... your code here
}
接下来的事情:你不需要关闭标签?&gt;如果您的* .php文件只包含PHP代码 - 文件结尾也是PHP代码块的正确结束 - 这是“好的”习惯,因为在某些情况下它可以帮助您避免错误:“无法添加/修改标题信息 - 已经由...发送的标题“
下一个问题 - 将变量插入字符串的错误方法:
$sql = 'INSERT INTO Members (ID, FName, LName, Phone, EmailAddress, Month, Day, Year, Username, Password) VALUES'
. '(\'\', \'$FName\', \'$LName\', \'$Phone\', \'$EmailAddress\', \'$Month\', \'$Day\', \'$Year\', \'$Username\', \'$Password\')';
正确的方法:
$sql = "INSERT INTO Members (ID, FName, LName, Phone, EmailAddress, Month, Day, Year, Username, Password) VALUES (null, '$FName', '$LName', '$Phone', '$EmailAddress', '$Month', '$Day', '$Year', '$Username', '$Password')";
接下来 - 正如Deniss所说,而不是:
$FName = $_POST["FName"];
应该是:
$FName = mysql_real_escape_string($_POST["FName"]);
实际上你应该先检查天气magic quotes gpc是否开启:
if (get_magic_quotes_gpc()) {
if (!empty($_POST)) {
array_walk_recursive($_POST, 'stripslashes_value');
}
}
function stripslashes_value(&$value) {
$value = stripslashes($value);
}
如果没有这个,你可能会遇到插入db的双\\问题(这取决于你的服务器配置)
最后但并非最不重要:罗伯特说你错过了一件更重要的事情:
mysql_query($sql);
答案 6 :(得分:0)
我认为你的错误是因为你没有调用mysql_query函数
可以尝试我的代码编辑
<?php
$link = mysql_connect('everybodyslistcom.ipagemysql.com', 'accounts', 'accounts');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_select_db("user",$link);
$FName = $_POST["FName"];
$LName = $_POST["Lname"];
$Phone = $_POST["Phone"];
$EmailAddress = $_POST["EmailAddress"];
$Month = $_POST["Month"];
$Day = $_POST["Day"];
$Year = $_POST["Year"];
$Username = $_POST["Username"];
$Password = $_POST["Password"];
$sql = "INSERT INTO Members SET FName='{$FName}', LName='{$LName}', Phone='{$Phone}', EmailAddress='{$EmailAddress}', Month='{$Month}', Day='{$Day}', Year='{$Year}', Username='{$Username}', Password='{$Password}'";
// Call Function mysql_query insert new record in mysql table
mysql_query($sql,$link);
mysql_close($link);
?>
如果您有问题:)或者apache服务的注释,请给我评论 美好的一天