【发布时间】:2016-01-29 21:30:09
【问题描述】:
我在尝试将自动生成的 PHP 代码从 MySQL 导入 PHP 时遇到问题。
服务器信息: MySQL 版本:服务器版本:5.6.25 PHP 版本:5.6.11
我的数据库由 3 个表组成,它们通过外键等连接在一起。
ansatt,计时器,prosjekt
这是我在 MySQL 中的查询:
SELECT ansatt.brukernavn, timer.bruker_id_fk, timer.dag,timer.timer, timer.overtid_50, timer.overtid_100, timer.km, prosjekt.prosjekt_navn FROM ansatt JOIN timer ON ansatt.brukerid = timer.bruker_id_fk JOIN prosjekt ON timer.prosjekt_id_fk = prosjekt.prosjekt_id WHERE ansatt.brukerid = 11
这为我提供了以下successful result
任何当我在我的 .php 文件中使用以下生成的代码时
$sqlget = "SELECT ansatt.brukernavn, timer.bruker_id_fk, timer.dag, timer.timer, timer.overtid_50, timer.overtid_100, timer.km, prosjekt.prosjekt_navn\n"
. "FROM ansatt\n"
. "JOIN timer ON ansatt.brukerid = timer.bruker_id_fk\n"
. "JOIN prosjekt ON timer.prosjekt_id_fk = prosjekt.prosjekt_id\n"
. "WHERE ansatt.brukerid = 11";
date_default_timezone_set("Europe/Oslo");
$sqldata = mysqli_query($dbcon, $sqlget) or die ('kunne ikke hente info');
echo "<table>";
echo "<tr><th>Dato</th><th>Prosjekt</th><th>Std. Arb.Timer</th><th>Overtid 50%</th><th>Overtid 100%</th><th>Km</th>";
while($row = mysqli_fetch_array($sqldata, MYSQLI_ASSOC)) {
echo "<tr><td>";
echo $row['dag'];
echo "</td><td>";
echo $row['prosjekt_navn'];
echo "</td><td>";
echo $row['timer'];
echo "</td><td>";
echo $row['overtid_50'];
echo "</td><td>";
echo $row['overtid_100'];
echo "</td><td>";
echo $row['km'];
echo "</td><td>";
}
echo "</table>"
它将显示以下记录: working php 一切都很好,但是当我尝试使用以下查询更改 MySQL 中的日期格式时
SELECT ansatt.brukernavn, timer.bruker_id_fk, DATE_FORMAT(timer.dag,'%d-%m-%Y'), timer.timer, timer.overtid_50, timer.overtid_100, timer.km, prosjekt.prosjekt_navn FROM ansatt JOIN timer ON ansatt.brukerid = timer.bruker_id_fk JOIN prosjekt ON timer.prosjekt_id_fk = prosjekt.prosjekt_id WHERE ansatt.brukerid = 11
一切都很好,并为我提供了成功的结果和格式化的日期 dd.mm.yyyy。当我在 PHPadmin 中单击生成 PHPcode 时,它会显示此代码:
$sqlget = "SELECT ansatt.brukernavn, timer.bruker_id_fk, DATE_FORMAT(timer.dag,\'%d-%m-%Y\'), timer.timer, timer.overtid_50, timer.overtid_100, timer.km, prosjekt.prosjekt_navn FROM ansatt JOIN timer ON ansatt.brukerid = timer.bruker_id_fk JOIN prosjekt ON timer.prosjekt_id_fk = prosjekt.prosjekt_id WHERE ansatt.brukerid = 11";
当我刷新网站时,它无法从
获取任何数据$sqldata = mysqli_query($dbcon, $sqlget) or die ('kunne ikke hente info');
当我删除以下代码时
DATE_FORMAT(timer.dag,\'%d-%m-%Y\')
并替换为“timer.dag”,它将再次工作,默认显示 yyyy.mm.dd 中的日期。
我试图在论坛和网络上搜索答案,但我找不到解决此问题或指向正确方向的匹配答案
如果我的语法不是最好的,我很抱歉,如果之前已经回答过,我很抱歉。希望这里的人有答案,我可以为那些感兴趣并需要它的人提供一个db的副本。
【问题讨论】:
-
删除那些\n再试一次
-
用空格替换 \n。
-
同时修复表格的输出以生成有效的
html。