【问题标题】:possible to run sql query without any user action?可以在没有任何用户操作的情况下运行 sql 查询吗?
【发布时间】:2016-09-08 06:29:06
【问题描述】:

我想知道当其他服务器使用 post 方法向我的服务器发送数据时是否可以运行 sql 查询。没有用户操作。它直接将数据从服务器发送到服务器。

<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {

    $servername = "localhost";
    $username = "test";
    $password = "test123";

    $conn = new mysqli($servername, $username, $password);

    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 

    $selected = mysql_select_db("test",$conn)  or die("Could not select examples");


    $sql = "INSERT INTO `tablename`.`test` (`id`, `startdate`, `enddate`) VALUES (NULL, '2016-09-08', '2016-09-09');";

    $retval = mysql_query( $sql, $conn );
    if(! $retval )
    {
      die('Could not enter data: ' . mysql_error());
    }

    mysql_close($conn);
}
?>

是否可以在没有任何用户操作的情况下运行查询?谢谢。

【问题讨论】:

  • @Andurit 你好兄弟。我只是问有没有可能。它不处理前端。检查我的标签关键词。 php,sql,server,你说的不是前端。我想你对我的理解不够了解。
  • 我相信我确实理解它。检查我的答案。

标签: php mysql server


【解决方案1】:

有一种后端 - 前端方式可以在客户端和服务器之间进行通信。我知道这听起来不像你想要的,但它确实如此。

它是如何工作的: 因为后端从客户端获取请求并基于此请求他做了一些事情(例如,使 SQL 选择)。

在您的情况下,您的客户端将是另一台服务器。并且请求不会来自某个.js,而是来自另一个.php 文件。但是它仍然以相同的方式工作。

非常基本的例子:

这是发送数据的服务器

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,"http://www.example.com/server.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
            "postvar1=value1");

// in real life you should use something like:
// curl_setopt($ch, CURLOPT_POSTFIELDS, 
//          http_build_query(array('postvar1' => 'value1')));

// receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec ($ch);
curl_close ($ch);

这是等待请求的服务器:

if(isset($_POST['postvar1'])) {
   $data = $_POST['postvar1'];
   // Here comes your logic..
}

【讨论】:

  • 你好兄弟,我不知道哪个链接将数据提交到我的服务器。你能告诉我如何结合你的例子和我的代码。谢谢
  • 从那里开始很简单,您只需确保数据已到达并执行您想要的操作..
  • 那么您的代码中还有其他问题,但这不是本主题的问题
【解决方案2】:

是的,您无需用户执行任何操作即可运行查询。你也不想使用mysql_*。您可能想查看 mysqli_* 函数或 PDO。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-29
    • 1970-01-01
    • 2018-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-15
    • 2018-04-29
    相关资源
    最近更新 更多