簡體   English   中英

PHP插入到MySQL查詢嘗試返回Null

[英]PHP Insert Into Returns Null on MySQL Query Attempt

我在使用PHP insert into語句向MYSQL表添加新行時遇到了一些困難。 我已經授予遠程用戶所有權限,並且我能夠查看表格。 但是,當我嘗試插入表時,我也得到A NULL返回。 有什么建議么?

這是代碼:

<?php
$ID1=$_REQUEST["ID1"];
$ID2=$_REQUEST["ID2"];
$ID3=$_REQUEST["ID3"];
$ID4=$_REQUEST["ID4"];
$ID5=$_REQUEST["ID5"];
$return = "0";

$link = mysql_connect('my-remote-server', 'root', 'pwd');
if (!$link) {echo $return; $end ="1";}

$db_selected = mysql_select_db($ID3, $link);
if (!$db_selected) {echo $return; $end ="1";}

if ($end != "1") 
{
    if (($ID5 == "1") && ($ID4 == "%%%"))
    {
        $check = mysqli_query($link,"INSERT INTO Students (NetID, GroupID)
        VALUES ('%s', '%s')",
        mysql_real_escape_string($ID1),
        mysql_real_escape_string($ID2));
        echo var_dump($check);
        echo "1";   

     }
}

就像我們在最初的評論中所說的那樣,堅持一個擴展:mysql或MySQLi。 在這種情況下,由於PHP 5.3+中對mysql擴展的棄用,我強烈建議使用MySQLi。

通過將代碼修改為:可以更改代碼(並使其更安全):

<?php
$ID1=$_REQUEST["ID1"];
$ID2=$_REQUEST["ID2"];
$ID3=$_REQUEST["ID3"]; // database name apparently ?
$ID4=$_REQUEST["ID4"];
$ID5=$_REQUEST["ID5"];
$return = "0";

$db = new mysqli('my-remote-server', 'root', 'pwd', $ID3);

if($db) {
   if (($ID5 == "1") && ($ID4 == "%%%")) {
        $statement = $db->prepare("INSERT INTO Students (NetID, GroupID) VALUES (?, ?)"); // prepare the query, this prevents SQL injection
        $statement->bind_param('ss', $ID1, $ID2); // this tells MySQLi that the 2 variables are strings and should be properly escaped to fit in the query (automatically)
        $statement->execute(); // run the actual query
   }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM