PHP查询不停地进行故障
问题描述:
<html>
<head>
<title>Inserts</title>
</head>
<body>
<h1>Adding a User</h1>
<form action="insert1.php" method="post">
Gamertag:<br />
<input name="insertfield1" type="text">
<br />
Bio:<br />
<input name="insertfield2" type="text">
<br />
Membership:<br />
<input name="insertfield3" type="text">
<br />
Gamerscore:<br />
<input name="insertfield4" type="number">
<br />
Email:<br />
<input name="insertfield5" type="text">
<br />
Name:<br />
<input name="insertfield6" type="text">
<br />
Location:<br />
<input name="insertfield7" type="text">
<br />
Friend:<br />
<input name="insertfield8" type="text">
<br />
<input type="submit" value="Insert">
</form>
</body>
</html>
末HTML 开始PHPPHP查询不停地进行故障
</head>
<body>
<h1>Insert Test Results</h1>
<?php
// create short variable names
$insertfield1=$_POST["insertfield1"];
$insertfield2=$_POST["insertfield2"];
$insertfield3=$_POST["insertfield3"];
$insertfield4=$_POST["insertfield4"];
$insertfield5=$_POST["insertfield5"];
$insertfield6=$_POST["insertfield6"];
$insertfield7=$_POST["insertfield7"];
$insertfield8=$_POST["insertfield8"];
//use trim function to strip whitespace inadvertently entered at beginning or end of insert term
$insertfield1= trim($insertfield1);
$insertfield2= trim($insertfield2);
$insertfield3= trim($insertfield3);
$insertfield4= trim($insertfield4);
$insertfield5= trim($insertfield5);
$insertfield6= trim($insertfield6);
$insertfield7= trim($insertfield7);
$insertfield8= trim($insertfield8);
echo "First insert term entered: $insertfield1";
echo "<br>";
echo "Second insert term entered: $insertfield2";
echo "<br>";
echo "Third insert term entered: $insertfield3";
echo "<br>";
echo "Fourth insert term entered: $insertfield4";
echo "<br>";
echo "Fifth insert term entered: $insertfield5";
echo "<br>";
echo "Sixth insert term entered: $insertfield6";
echo "<br>";
echo "Seventh insert term entered: $insertfield7";
echo "<br>";
echo "Eight insert term entered: $insertfield8";
echo "<br>";
if (!$insertfield1)
{
echo 'You have not entered insert details. Please go back and try again.';
exit;
}
// connect to database
$link=mysqli_connect("yourMysqlServer", "usernameHere", "myPassword", "myDatabase")
or die('Could not connect ');
echo "Connected successfully <br>";
// insert new data into table
$result = mysqli_query($link,"INSERT INTO userprofile values ('$insertfield1', '$insertfield2', '$insertfield3', $insertfield4, '$insertfield5', '$insertfield6', '$insertfield7', '$insertfield8') ")
or die("Query failed ");
echo "query ok\n";
$num_results = mysqli_num_rows($result);
echo '<p>Number of rows inserted in userprofile: '.$num_results.'</p>';
// query table to show new data inserted
$result = mysqli_query($link,"SELECT * from userprofile")
or die("Query failed ");
echo "query ok\n";
$num_results = mysqli_num_rows($result);
echo '<p>New number of rows in userprofile: '.$num_results.'</p>';
// show results of table with new data inserted
echo " <table border='1'>\n";
while ($line = mysqli_fetch_array($result, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
//Free result set
mysqli_free_result($result);
//close connection
mysqli_close($link);
?>
</body>
</html>
出于某种原因,这些都不能互相通信正常。我的假设是,我的PHP代码中有错误。我可以告诉你,我可以正确连接,但是当我尝试插入时,它不会,它说查询失败。
答
1)尝试使用这种格式,
mysqli_query($link,"INSERT INTO userprofile (col1,col2,col3) VALUES ('value1','value2','value3')");
,并确保您不会错过任何东西。
2)尝试将gamescore的值更改为varchar,并在插入时进行更改。
3)检查每一个表中的列允许值长度,请确保输入不超过允许的长度
请不要发表您的实际的数据库凭据 - 我要举报这个历史去除你 –
'echo'你的SQL代码,看看你得到了什么。你也必须现在更改你的数据库密码。数据库现在很脆弱。 – AkiEru
为什么要定义变量两次?用修剪定义一次。如果有的话,你的输出是什么? – chris85