2013-08-03 107 views
-2

我是全新的PHP,只是想創建一個非常基本的註冊表單,但是當我點擊提交時,它不會在我的數據庫中創建數據。PHP不會將數據發送到我的mysql數據庫

<form action"signup.php" method="post"> 
    username:<input type="text" name="n"><br /> 
    password:<input type="password" name="p"><br /> 
    id  :<input type="text" name="id"><br /> 
    <input type="submit"> 
</form> 


<?php 
$conn = mysql_connect("localhost", "root", ""); 
$db = mysql_select_db("myth", $conn); 
?> 

<?php 
$user = $_POST['n']; 
$pass = $_POST['p']; 
$id = $_POST['id']; 
$sql = "INSERT into phplogin values(" . $id . ",'" . $user . "','" . $pass . "')"; 
$query = mysql_query(); 

if(!$query) 
    echo "failed ".mysql_error(); 
else   
    echo "successful"; 
?> 

回答

1

您並未實際運行查詢 - 您需要致電mysql_query($sql)

請注意,您的代碼非常容易受到SQL注入等情況的影響,並且mysql_query在PHP中是不推薦使用的函數。

1

首先,您不必使用mysql_*命令,因爲它們已被棄用;改爲使用mysqli_*PDO

其次,你必須傳遞你的字符串的方法。你的情況:$result = mysql_query($sql);

記住$result將返回你要獲取資源的獲取你的行

while ($row=mysql_fetch_row($result)) { 
// here, you have your rows 
} 
0

你的腳本應該是這樣的

<?php 
    // create connection 
    $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); 

    // check connection 
    if ($mysqli->connect_errno) { 
     printf("Connect failed: %s\n", $mysqli->connect_error); 
     exit(); 
    } 

    $user = $_POST['n']; 
    $pass = $_POST['p']; 
    $id = $_POST['id'];  

    $sql = "INSERT into phplogin values('$id','$user','$pass')"; 
    if($mysqli->query($query)) { 
     printf("New Record has id %d.\n", $mysqli->insert_id); 
    } else { 
     printf("Failed ".$mysqli->error); 
    } 

    // close connection 
    mysqli_close($link); 

?> 

而且是不使用mysql_ *,因爲它已被棄用,請改用mysqli_或PDO。

+0

-1不提的MySQL注入的問題,任何問題mysql_ *已被棄用。 –

0

嘗試使用mysqli_query因爲它比的mysql_query好...

<?php 
$conn = mysqli_connect("localhost","root","","myth")or die("connection to database problem"); 

$user = $_POST['n']; 
$pass = $_POST['p']; 
$id = $_POST['id']; 
$sql = "INSERT INTO phplogin VALUES (".$id.",'".$user."','".$pass."')"; 
$query = mysqli_query($conn, $sql)or die("query error"); 

if(false===$query) 
    echo "<br/>".mysqli_error($conn)."<br/><br/><br/>"; 
    else 
    echo "<br/>done "; 
?> 

如果在連接connection to database problem應該發生

+0

啊四我看到我做錯了看這段代碼,可悲的是還沒有解決我的問題,即時通訊乞求認爲這是一個probem elsewere以外我的代碼:(可能有一個問題在mysql? –

+0

爲什麼mysqli_ *更好?請添加解釋! –

+0

嘗試新的 –

相關問題