c# - 使用 C# 和 PHP 更新 mysql

标签 c# php mysql post mysqli

您好我有 mysql 数据库和名为 upd.php 的 php 文件我想用 c# 和 php 更新我的数据库记录我使用了下面的代码[方法 1] 一切正常并且工作正常

PHP 代码:

<?php
$servername = "localhost";
$username = "Crypted";
$password = "appCrypted";
$dbname = "Crypted";

// Post Method
//$hwInfo = $_POST["hwInfo"];  
$trial = $_GET["trial"];  
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
$sql = "UPDATE users SET trial='$trial' WHERE hwInfo='4871-1598-0155-1531'";

if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . $conn->error;
}

$conn->close();
?>

C#代码:

string urlAddress = "http://localhost.ir/ClassSRM/upd.php";
            using (WebClient client = new WebClient())
            {
                NameValueCollection postData = new NameValueCollection()
                    {
                      { "trial", "10" }
                };
                Console.WriteLine(urlAddress);
                Console.WriteLine(postData);

                string pagesource = Encoding.UTF8.GetString(client.UploadValues(urlAddress, postData));
            }

现在如果我输入这个链接http://localhost.ir/ClassSRM/upd.php?trial=3000我的记录更新成功,但我想将 hwInfo 从 c# 发送到 upd.php,我使用了以下代码 [方法 2] 但没有任何效果

<?php
$servername = "localhost";
$username = "Crypted";
$password = "appCrypted";
$dbname = "Crypted";

// Post Method
 //$hwInfo = $_POST["hwInfo"];  
$trial = $_GET["trial"];  
$hwInfo = $_GET["hwInfo"];
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
$sql = "UPDATE users SET trial='$trial' WHERE hwInfo='$hwInfo'";

if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . $conn->error;
}

$conn->close();
?>

C#代码:

string urlAddress = "http://localhost.ir/ClassSRM/upd.php";
            using (WebClient client = new WebClient())
            {
                NameValueCollection postData = new NameValueCollection()
                    {
                      { "hwInfo", hwInfo },
                      { "trial", "10" }
                };
                Console.WriteLine(urlAddress);
                Console.WriteLine(postData);

                string pagesource = Encoding.UTF8.GetString(client.UploadValues(urlAddress, postData));
            }

最佳答案

我知道这是个老问题,但它可能对某些人有所帮助。您的示例有效,但我对 PHP 代码进行了一些更改,我使用 POST 方法,这里是我的工作示例:

<?php
$servername = "localhost";
$username = "Crypted";
$password = "appCrypted";
$dbname = "Crypted";

$trial = isset($_POST['trial']) ? $_POST['trial'] : '';  
$hwInfo = isset($_POST['hwInfo']) ? $_POST['hwInfo'] : '';

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
$sql = "UPDATE users SET trial='$trial' WHERE hwInfo='$hwInfo'";
echo "sql: " . $sql;
if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . $conn->error;
}

$conn->close();
?>

关于c# - 使用 C# 和 PHP 更新 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45029708/

相关文章:

c# - 线程和 IndexOutOfRange 异常

c# - Visual C# - 根据用户角色将用户重定向到不同的窗体

php - 未定义索引 PHP

php - 对于只需要一个连接的应用程序,在 PHP5 中隐藏数据库连接代码的最佳方法是什么?

php - MySQL 和 PHP 同步性健全性检查

c# - 如何使用 C# Datastax 驱动程序删除 Cassandra 上的表?

PHP 从两个字符串中随机选择一个字符串

php - 当遍历循环时,在循环内访问 MySQL 的效率是高还是低?

mysql - 如何设计 Multi-Tenancy mysql数据库

c# - HTTP 发布到 Web API 2 - 选项请求已收到并已处理未收到进一步的请求