我一直在Microsoft Azure中对该服务器/数据库进行编程。我创建了这个PHP来控制一切。主要目标是创建一个可以注册和登录的网站,为此我需要一个处理所有这些值的数据库和服务器。在我的代码hoewever中,数据库似乎没有存储任何东西,除了数据库和PHP文档之间的连接之外,一切都按照预期进行。所以我转向你们,听说你们会是最好的哈哈!仅供参考,第一个帖子,请注意:)
这是我的PHP文档。
<?php
if (isset($_POST['submits']))
{
if (empty($_POST['usernames']))
{
$error = "Fill in all the boxes";
}
elseif (empty($_POST['passwords']))
{
$error = "Fill in all the boxes";
}
elseif (empty($_POST['emails']))
{
$error = "Fill in all the boxes";
}
elseif(strpos($_POST['emails'], "@") === false)
{
$error = "Wrong syntax: example@.com";
}
else
{
$username=$_POST['usernames'];
$password=$_POST['passwords'];
$email=$_POST['emails'];
$connectionInfo = array("UID" => "MY_SERVER_EMAIL", "pwd" => " MY_PASSWORD", "Database" => "MY_DATABASE", "LoginTimeout" => 30, "Encrypt" => 1);
$serverName = "(MY_DATABASE";
$conn = sqlsrv_connect($serverName, $connectionInfo);
$sql = "SELECT username, email FROM dbo.Login";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
die( print_r( sqlsrv_errors(), true) );
}
$usertrue=TRUE;
if($usertrue===TRUE)
{
$error = "Account added";
$hashedpassword = md5(md5(sha1(sha1(md5($password)))));
$query = "INSERT INTO dbo.Login (username, password, email) VALUES ('$username', '$hashedpassword', '$email' )";
$result = sqlsrv_query($conn, $query );
if($conn->connect_error)
{
die("Connection failed: " . $conn->connect_error);
}
echo "Connected succesfully";
}
sqlsrv_free_stmt( $stmt);
sqlsrv_close($conn); // Closing Connection
}
}
?>
表单名为POST,输入名为用户名、密码、电子邮件和提交。
感谢你的回答!Anton
查看代码,我假设您已经用一些占位符替换了这些值。
尽管如此,可能还是有一些打字错误。%ServerName有一个"("。我认为Insert语句的格式不正确(即,所有$username、$password、$email)没有得到评估,因为它被视为字符串。
此外,为什么在执行插入查询后要检查连接错误。在执行插入查询之前,应首先检查它,如果它没有连接,则应重新连接。