【发布时间】:2016-08-03 16:42:12
【问题描述】:
对于 c# 中的 android 应用程序,我无法远程访问 mysql 数据库。 这是我的 C# 脚本。
void mSignUpButton_Click(object sender, EventArgs e)
{
WebClient client = new WebClient();
Uri uri = new Uri("http://hitachipickmeup.dx.am/SQLQuery.php");
NameValueCollection parameters = new NameValueCollection();
parameters.Add("Name", textName.Text);
parameters.Add("Email", txtEmail.Text);
parameters.Add("Password", txtPassword.Text);
client.UploadValuesAsync(uri, parameters);
}
还有我的 PHP 脚本:
<?php
$servername = "fdb13.awardspace.net";
$username = "2100274_pickmeup";
$password = "*************";
try
{
$conn = new PDO("mysql:host=$servername;dbname=2100274_pickmeup", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
if (isset($_POST['Name']) && isset($_POST['Email']) && isset($_POST['Password']))
{
//Get the POST variables
$mName = $_POST['Name'];
$mEmail = $_POST['Email'];
$mPassword = $_POST['Password'];
//Insert new contact into database
$query = 'INSERT INTO Contact_info (Contact_Name, Contact_Email, Contact_Password) VALUES ("$mName", "$mEmail","$mPassword")';
$result = mysqli_query($query);
}
?>
当我转到http://hitachipickmeup.dx.am/SQLQuery.php时,它说“连接成功”。
Phpmyadmin(数据库为空):http://i.stack.imgur.com/WOu6l.png
【问题讨论】:
-
请使用 PHP 的built-in functions 来处理密码安全问题。如果您使用的 PHP 版本低于 5.5,则可以使用
password_hash()compatibility pack。 -
您使用 PDO 建立了与数据库的连接,并尝试使用 MySQLi API 来执行查询。这是行不通的。使用 PDO
execute() -
在代码的最后 2 行中,您在使用 PDO 连接时使用了
MySQLi函数,这将不起作用,您不能混合连接 API。要么使用PDO(我推荐这个)要么使用MySQLi
标签: c# php mysql database phpmyadmin