我首先创建了一个表。
CREATE TABLE testform (
htmlStr MEDIUMTEXT);
之后,我将数据值放入该表中。
INSERT INTO testform (htmlStr) VALUES ('
<!DOCTYPE html>
<html lang="ko">
<body>
<h1>TEST</h1>
</body>
</html>
');
我们想要创建一个简单的按钮来与 Ajax 进行通信。
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<script>
function Add() {
$.ajax({
url: "test.php",
type: "POST",
error: function(error) {
console.log(error);
},
success: function(result) {
alert(result);
}
});
}
</script>
<body>
<button onclick="Add();">ADD PHP</button>
</body>
</html>
下面是后台PHP文件。
<?php
include_once($_SERVER["DOCUMENT_ROOT"]."/total/end_page/php/dbconn.php");
$sql = "SELECT * FROM testform";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_array($result);
$html = $row['htmlStr'];
$file = fopen("test3.php","w") or die ("X");
fwrite($file,$html);
fclose($file);
echo "COMPLETE";
?>
**test3.php 文件从 testform 表的 htmlStr 列写入并生成数据。 之后我访问test3.php文件所在的URL,但没有返回任何值。 当我用ftp打开test3.php文件时,表的数据值输入正确,但是当我连接到链接时,该值没有出现。 我想创建一个 php 文件以将 html 代码作为文本并创建该文件。
您有任何反馈吗?**
我尝试了一下。
fopen("test3.txt","w");
如果您使用txt格式而不是php扩展名来连接链接,结果值将以文本格式输出。
**之后,重命名('test3.txt','test3.php');我试过这个。 然而,结果在页面上显示没有任何值,如上所示。
在F12页面,我们检查了检查中的元素。**
<html>
<head></head>
<body></body>
</html>
BODY中的标签值不存在。
您要解决的问题似乎是您打算将一些模板存储到MySQL数据库中,以便客户可以下载这些模板并通过从PHP加载它们并写入PHP文件来安装它们。
然而,你的问题的罪魁祸首是这一行:
$row = mysqli_fetch_array($result);
看mysqli_fetch_array,参数:
由于您想要获取关联的数组,因此对您的行的修复将是:
$row = mysqli_fetch_array($conn, MYSQLI_ASSOC);