【问题标题】:Update mysql with C# and PHP用 C# 和 PHP 更新 mysql
【发布时间】:2023-03-20 03:14:01
【问题描述】:

嗨,我有 mysql db 和名为 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));
            }

【问题讨论】:

  • var_dump($_GET);并检查响应
  • 我必须编辑哪个语句?我是 php 新手

标签: c# php mysql post mysqli


【解决方案1】:

我知道这是个老问题,但它可能对某人有所帮助。您的示例有效,但我对 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();
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-01
    • 2013-06-17
    • 2012-04-13
    • 2010-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多