Php 使用fwrite显示sql查询
我正试图从sql数据库中提取一个用户名以放置在其上。我的数据库结构如下所示。无论我做什么,它都不起作用,我似乎不明白这一点,因为我能够通过这样做来回应人们的用户名。$user_info['username']。然而,当我把它放在fwrite函数中时,什么都没有显示。 我遗漏了什么,为什么用户名没有显示在fwrite函数中Php 使用fwrite显示sql查询,php,sql,fwrite,Php,Sql,Fwrite,我正试图从sql数据库中提取一个用户名以放置在其上。我的数据库结构如下所示。无论我做什么,它都不起作用,我似乎不明白这一点,因为我能够通过这样做来回应人们的用户名。$user_info['username']。然而,当我把它放在fwrite函数中时,什么都没有显示。 我遗漏了什么,为什么用户名没有显示在fwrite函数中 看起来您的fwrite很好,但是您的在用户名输出之后,可能会被浏览器作为标记的结尾弄糊涂 试试这个: fwrite($fp, "<div class='msgln'&g
看起来您的
fwrite
很好,但是您的
在用户名输出之后,可能会被浏览器作为标记的结尾弄糊涂
试试这个:
fwrite($fp, "<div class='msgln'> ".$user_info['username'].">".stripslashes(htmlspecialchars($text))."</div>");
fwrite($fp,“$user\u info['username']”。条带斜杠(htmlspecialchars($text))。”;
您需要定义$user\u信息:
<?
mysql_connect("localhost", "root", "password") or die(mysql_error());
mysql_select_db("root_members") or die(mysql_error());
session_start();
if(isset($_SESSION['name'])){
// select from database
$result = mysql_query('SELECT * FROM users WHERE username="' . $_SESSION['name'] . '"');
// retrieve row
$user_info = mysql_fetch_assoc($result); // fixed this from mysql_fetch_row to mysql_fetch_assoc
$text = $_POST['text'];
$fp = fopen("log.html", 'a');
fwrite($fp, "<div class='msgln'> ".$user_info['username']." >".stripslashes(htmlspecialchars($text))."</div>");
fclose($fp);
}
?>
在哪里填充$user\u info
?看起来这是拼图中缺失的部分。我还修复了大于符号,它需要一个实体代码才能在HTML中正确呈现
<?php
mysql_connect("localhost", "root", "password") or die(mysql_error());
mysql_select_db("root_members") or die(mysql_error());
session_start();
if (isset($_SESSION['name'])) {
$sql = sprintf("SELECT username FROM root_members WHERE querygoeshere='%s'",
mysql_real_escape_string($querygoeshere));
$result = mysql_query($sql);
if (!$result) {
die('Could not execute query: ' . mysql_error());
}
$row = mysql_fetch_row($result);
$username = $result[0];
$text = $_POST['text'];
$fp = fopen("log.html", 'a');
fwrite($fp, "<div class='msgln'>" . $username . " > " . stripslashes(htmlspecialchars($text)) ."</div>");
fclose($fp);
}
哪里定义了$user\u info['username']
?如果使用var\u dump()
it会发生什么?我还看到了一些针对缺少的$user\u info['username']
变量的其他答案。很高兴你成功了!文件中没有显示任何内容吗?或者页面当用户名放在fwrite中时,它不会显示在文件或页面的任何地方。$user\u info['username']
在哪里定义?因为它似乎没有在任何地方定义……那么我如何正确地定义它,因为我以为我已经在index.php页面中定义了它。对不起。现在试试看。mysql_fetch_行无法工作,需要mysql_fetch_assoccare-此脚本存在漏洞。有关转义SQL查询的一种方法,请参见我的答案。另外,如果您不需要整行,我建议您只拉username
,因为拉所有内容会带来不必要的负担。
<?php
mysql_connect("localhost", "root", "password") or die(mysql_error());
mysql_select_db("root_members") or die(mysql_error());
session_start();
if (isset($_SESSION['name'])) {
$sql = sprintf("SELECT username FROM root_members WHERE querygoeshere='%s'",
mysql_real_escape_string($querygoeshere));
$result = mysql_query($sql);
if (!$result) {
die('Could not execute query: ' . mysql_error());
}
$row = mysql_fetch_row($result);
$username = $result[0];
$text = $_POST['text'];
$fp = fopen("log.html", 'a');
fwrite($fp, "<div class='msgln'>" . $username . " > " . stripslashes(htmlspecialchars($text)) ."</div>");
fclose($fp);
}