我的 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 如下。为了 函数.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'";
此外,我同意杰·布兰查德的观点。尽量避免 mysql_* 扩展并使用 PDO 代替。另外,表名“OptiOutput”是否正确?它不会像您的第一个查询中那样是“用户”吗?
关于php - 通过 PHP 从按钮进行 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31124342/