2016-01-08 50 views
0
<?php 
$servername = "localhost"; 
$username = "root"; 
$password = "pass"; 
$dbname = "test"; 

$name="admin"; 
$pass="passerino"; 
// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
if ($conn->connect_error) { 
die("Connection failed: " . $conn->connect_error); 
}else { 
    echo nl2br("Conected \n"); 
} 
$sqlin="INSERT INTO data_test (username, password) VALUES ('valname','valpass')"; 
$result=$conn->query($sqlin); 
if ($conn->query($sqlin) === TRUE) { 
echo "New record created successfully"; 
} else { 
echo "Error: " . $sqlin . "<br>" . $conn->error; 
} 
$conn->close(); 
include_once "read.php"; 
?> 

你好,我有這個簡單的PHP文件將數據插入到MySQL數據庫,但不是一旦有一個request.How做這兩次我可以停止?我使用的是wamp服務器x64,chrome,php 5.5.12; PS read.php顯示數據表PHP將數據插入到MySQL的兩倍,而不是一個

+3

'$ result = $ conn-> query($ sqlin); if($ conn-> query($ sqlin)=== TRUE){' - 你期望什麼?像@Naruto所說的 – Naruto

+0

。你執行了兩次查詢'$ conn-> query($ sqlin)' – roullie

+0

這很搞笑。 – Hedam

回答

3

改變這個代碼,因爲如果你運行該線$conn->query($sqlin); t WICE它會運行查詢兩次,並在數據庫中插入記錄兩個時間

2

因爲你執行你的查詢時間

$result=$conn->query($sqlin);// first time 
if ($conn->query($sqlin) === TRUE) {// second time 

只需執行它只是一個時間

$sqlin="INSERT INTO data_test (username, password) VALUES ('valname','valpass')"; 
if ($conn->query($sqlin) === TRUE) { 
echo "New record created successfully"; 
} else { 
echo "Error: " . $sqlin . "<br>" . $conn->error; 
} 

不要插入值直接更好地使用綁定聲明

http://php.net/manual/en/mysqli-stmt.bind-param.php

普通密碼不要保存到

$sqlin="INSERT INTO data_test (username, password) VALUES ('valname','valpass')"; 
    $result=$conn->query($sqlin); 
    if ($conn->query($sqlin) === TRUE) { 
    echo "New record created successfully"; 
    } else { 
    echo "Error: " . $sqlin . "<br>" . $conn->error; 
    } 
    $conn->close(); 
    include_once "read.php"; 

$sqlin="INSERT INTO data_test (username, password) VALUES ('valname','valpass')"; 
$result=$conn->query($sqlin); 
if ($result === TRUE) { 
echo "New record created successfully"; 
} else { 
echo "Error: " . $sqlin . "<br>" . $conn->error; 
} 
$conn->close(); 
include_once "read.php"; 

數據庫中讀取密碼散列

http://php.net/manual/en/function.password-hash.php

http://php.net/manual/en/faq.passwords.php

0

不要採取導致變量直接操作如下:

if ($conn->query($sqlin) === TRUE) { 
echo "New record created successfully"; 
} else { 
echo "Error: " . $sqlin . "<br>" . $conn->error; 
} 
0

只使用變量在if條件

if($sqlin === TRUE) 
0

代替$conn->query($sqlin) === TRUE會導致雙重入場使用$result === TRUE