通过 PHP 从按钮进行 SQL 查询

Make SQL Query from button via PHP

我的 SQL 查询在 PHPMyAdmin 中运行良好,但无法在 PHP 中运行。假设我有这个查询:

SELECT Login, Firstname, Lastname, Company INTO OUTFILE 'c:\users.txt' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'  
FROM `Users` WHERE Company = 'SID';

我想通过单击从网页调用我的查询。我做了 2 个文件 fonction.php 和 form.php 如下。为了 fonction.php

<?php
function connectMaBase(){
    $base = mysql_connect ('localhost', 'root', '');  
    mysql_select_db ('Dbase', $base) ;
}
?>

form.php 我有这个

<?php
include("fonction.php");
?>
<html>
    <head><title>Pages de requetes SQL </title></head>
    <body>
        <h1> Requete SQL </h1>
       <form name="sqlquery" method="post" action="form.php">        
        <input type="submit" name="valider" value="Go"/>
       </form>
 <?php 
    if (isset ($_POST['valider'])){
        connectMaBase();
        $sql = "SELECT Login, Firstname, Lastname, Company  INTO OUTFILE \'c:\\Users.txt\' FIELDS TERMINATED BY \',\' LINES TERMINATED BY \'\r\n\' \n"
     . "FROM `Users` WHERE Company = \'SID\'";

        mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error()); 
        mysql_close();
    }
?>
    </body>
</html>

我是初学者,找不到代码中的错误。

感谢您的帮助。

当您的主查询在双引号中时,您不需要转义单引号。尝试:

$sql = "SELECT Login, Firstname, Lastname, Company  INTO OUTFILE 'c:\\BA2112262201-P03.txt' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n' \n"
     . "FROM `OptiOutput` WHERE Company = 'SID'";

此外,我同意 Jay Blanchard 的观点。尽量避免使用 mysql_* 扩展并改用 PDO。另外,table 名称 'OptiOutput' 正确吗?它不会像您的第一个查询那样 'Users'?