首页 > 解决方案 > 将数据从 mySQL 拉到文本文档 php

问题描述

我正在尝试从 mySQL 数据库中获取数据,并让它替换 .txt 文件中的某个字符串。我觉得我很接近了,但我想替换的字符串只是被一个空格替换。

<?php
$servername = "localhost";
$username = "rob1289";
$password = "databasetest";
$dbname = "RobertCornell2";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}

$sql = "SELECT * FROM name ORDER BY id DESC LIMIT 1";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
    //"" . $row["first"]. "<br>";
    $fname_from_db = $row["first"];
    $mname_from_db = $row["middle"];
    //echo $row["id"];
}
} else {
echo "0 results";
echo "<br/>Error: " . mysqli_error($conn);
}
$myFile = "freewill.doc";
$fh = fopen($myFile, 'a') or die("can't open file");
$fname_from_db = $row["first"];
$mname_from_db = $row["middle"];
$placeholders = array('fin', 'min');
$namevals = array($fname_from_db);
$path_to_file = 'freewill.doc';
$file_contents = file_get_contents($path_to_file);
$file_contents = str_replace($placeholders,$namevals,$file_contents);
file_put_contents($path_to_file,$file_contents);


fclose($fh); 

mysqli_close($conn);
?>

标签: phpmysql

解决方案


会不会是因为$namevals(replace) 有一个元素而$placeholders(search) 有两个?

来自PHP 文档

如果 replace 的值比 search 少,则将空字符串用于其余的替换值。


推荐阅读