2015-04-23 72 views
0
<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代码中有错误。我可以告诉你,我可以正确连接,但是当我尝试插入时,它不会,它说查询失败。

+3

请不要发表您的实际的数据库凭据 - 我要举报这个历史去除你 –

+2

'echo'你的SQL代码,看看你得到了什么。你也必须现在更改你的数据库密码。数据库现在很脆弱。 – AkiEru

+0

为什么要定义变量两次?用修剪定义一次。如果有的话,你的输出是什么? – chris85

回答

2

1)尝试使用这种格式,

mysqli_query($link,"INSERT INTO userprofile (col1,col2,col3) VALUES ('value1','value2','value3')"); 

,并确保您不会错过任何东西。

2)尝试将gamescore的值更改为varchar,并在插入时进行更改。

3)检查每一个表中的列允许值长度,请确保输入不超过允许的长度