【问题标题】:php page to insert data to sql not workingphp页面将数据插入sql不起作用
【发布时间】:2018-03-25 16:18:50
【问题描述】:

我正在尝试通过 php.ini 将数据从 Unity 游戏添加到我的 sql 服务器。 php代码如下。我正在测试的 URL 是

SQL server 和 php 文件托管在 Azure 中,我已经能够通过标准 SQL 命令等添加数据(数据库连接工作正常),并在使用 URL http://example.net/filename.php?one=4&two=8 测试时运行以下页面只返回 Test84,对表没有任何改变。

如果有人能告诉我为什么这不起作用,我将不胜感激

    <?php 
// 
echo"Test";
$data=$_GET[one];
$data1=$_GET[two];
echo $data1;
echo $data;
    $conn = new PDO("sqlsrv:server = {}; Database = {}", "{}", "{}");
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


$sql = $conn->prepare ("INSERT INTO registratib_tbl (name,email ) VALUES ( ? , ?)");
$sql->bindParam(1, $data);  
$sql->bindParam(2, $data1);  
$sql->execute();  

//$conn->query($sql); 
echo "<h3>Data Inserted!</h3>"; 

?>

【问题讨论】:

  • 您是否尝试使用 $_GET["one"] 而不是 $_GET[one]?值是否正确回显?
  • 是的,它们被正确回显
  • VALUE ( ? , ?) 到 VALUES ( ? , ?) --- 你错过了那里的 S。
  • @KarloKokkak 如果 OP 使用 MySQL,它在 mysql 中完全有效。我有一种感觉,有人会提到这件事。 dev.mysql.com/doc/en/insert.html - {VALUES | VALUE}.
  • @KarloKokkak 好吧....但是..在mysql中,两者都是有效的。

标签: php sql azure azure-sql-database


【解决方案1】:

请尝试如下插入数据:

 <?php

 $serverName = "tcp:yourserver.database.windows.net,1433";
 $connectionOptions = array("Database"=>"yourdatabase",
 "Uid"=>"yourusername", "PWD"=>"yourpassword");
 //Establishes the connection
 $conn = sqlsrv_connect($serverName, $connectionOptions);
 //Select Query
 $tsql = "SELECT [CompanyName] FROM SalesLT.Customer";
 //Executes the query
 $getProducts = sqlsrv_query($conn, $tsql);
 //Error handling
 if ($getProducts == FALSE)
 die(FormatErrors(sqlsrv_errors()));
 $productCount = 0;
 $ctr = 0;
 ?> 
 <h1> First 10 results are : </h1>
 <?php
 while($row = sqlsrv_fetch_array($getProducts, SQLSRV_FETCH_ASSOC))
 { 
 if($ctr>9)
 break; 
 $ctr++;
 echo($row['CompanyName']);
 echo("<br/>");
 $productCount++;
 }
 sqlsrv_free_stmt($getProducts);

 $tsql = "INSERT SalesLT.Product (Name, ProductNumber, StandardCost, ListPrice, SellStartDate) OUTPUT INSERTED.ProductID VALUES ('SQL New 1', 'SQL New 2', 0, 0, getdate())";
 //Insert query
 $insertReview = sqlsrv_query($conn, $tsql);
 if($insertReview == FALSE)
 die(FormatErrors( sqlsrv_errors()));
 ?> 
 <h1> Product Key inserted is :</h1> 
 <?php
 while($row = sqlsrv_fetch_array($insertReview, SQLSRV_FETCH_ASSOC))
 { 
 echo($row['ProductID']);
 }
 sqlsrv_free_stmt($insertReview);
 //Delete Query
 //We are deleting the same record
 $tsql = "DELETE FROM [SalesLT].[Product] WHERE Name=?";
 $params = array("SQL New 1");

 $deleteReview = sqlsrv_prepare($conn, $tsql, $params);
 if($deleteReview == FALSE)
 die(FormatErrors(sqlsrv_errors()));

 if(sqlsrv_execute($deleteReview) == FALSE)
 die(FormatErrors(sqlsrv_errors()));

 ?>

更多信息,请访问this文章。

【讨论】:

    猜你喜欢
    • 2016-07-02
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    • 1970-01-01
    • 1970-01-01
    • 2016-08-06
    • 2012-09-14
    • 1970-01-01
    相关资源
    最近更新 更多