[英]Why won't my php connection to mysql server work?
嗨,我正在嘗試將信息發送到Sequel pro中顯示的本地mysql服務器。 我有一個HTML格式,如下所示:
<a href="#openRegisterModal" id="main_header_register">register</a>
<div id="openRegisterModal" class="modalRegisterDialog">
<section>
<a href="#close" title="Close" class="close">X</a>
<h1>Register</h1>
<form name="registerform" class="registerform">
<label for="usernamefield">Username: </label>
<br>
<input type="text" id="usernameregisterfield"></input>
<br>
<label for="emailfield">Email: </label>
<br>
<input type="text" name="emailfield" id="emailregisterfield"></input>
<br>
<label for="passwordfield">Password: </label>
<br>
<input type="password" name="passwordfield" id="passwordregisterfield"></input>
<br>
<label for="passwordrepeatfield">Repeat Password: </label>
<br>
<input type="password" name="passwordrepeatfield" id="passwordrepeatregisterfield"></input>
<br>
<!--Check field-->
<br>
<input type="checkbox" name="agreementbox" id="agreementbox"></input>
<label for="agreementbox" id="termslink">I agree to the </label>
<a href="" id="termslink">terms</a>
<br>
<input type="button" id="registerbutton" value="Register" onclick="registerUser()">
</form>
</section>
</div>
當我點擊注冊按鈕時,假設這個javascript函數被調用:
function initiate() {
}
function registerUser()
{
var username = document.getElementById("usernameregisterfield").value;
var email = document.getElementById("emailregisterfield").value;
var password = document.getElementById("passwordregisterfield").value;
console.log("Username: " + username);
console.log("Email: " + email);
console.log("Password: " + password);
if (window.XMLHttpRequest)
{
// Code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else
{
// Code for IE6, IE5
xmlhttp = ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET",
"RegisterUser.php?username=" + username
+ "&email=" + email
+ "&password=" + password,
true);
xmlhttp.send();
}
initiate('load');
然后應該調用這個php文件:
<?php
$username = strval($_GET['username']);
$email = strval($_GET['email']);
$password = strval($_GET['password']);
$connection = mysql_connect('localhost', 'root', '')
or die("Unable to connect to database");
$database = mysql_select_db("myDatabase")
or die("Could not select database");
$sql = "INSERT INTO registered_users VALUES ('$username', '$email', '$password');";
$execute = mysql_query($sql);
?>
但是,當我嘗試這個沒有任何反應。 我甚至沒有收到錯誤消息。
有人請幫幫我!
我認為您需要為查詢添加$ connection。
首先將數據庫添加到連接語句中
$connection = mysql_connect('localhost', 'root', '', 'myDatabase')
or die("Unable to connect to database");
然后在構建查詢后,將下一行更改為此
$execute = mysql_query($connection, $sql);
這一切都假設您實際上是在訪問PHP文件,而這實際上就是問題所在。
您錯過了添加數據庫連接以選擇數據庫。 你應該寫
$database = mysql_select_db("myDatabase", $connection)
or die("Could not select database");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.