正如大多数人所说,这段代码工作得非常完美。我指向这个脚本的路径有点问题。现在的问题是我遇到了带有href代码行的超链接问题。我的数据库中有一个字段是全文。我正在尝试创建一个脚本,允许我在单击“阅读更多”按钮时显示全文(echo "{$row['fulltext']}.";
)的内容。超链接应填充echo "{$row['title']}.";
我插入a href="fulltext.php?=$row['fulltext']
<table>
<?php
$dbhost = 'localhost';
$dbuser = 'myusernm';
$dbpass = 'mypwd';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT title, introtext, created, created_by, catid FROM mydb_items';
mysql_select_db('muslimtimes360');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
echo '<tr>'; echo '<td>'; echo '<span class="post-date">'; echo "{$row['created']}."; echo '</span>'; echo '</td>'; echo '</tr>';
echo '<tr>';
echo '<td>'; echo '<h2 class="blog-post-title">'; echo "{$row['title']}."; echo '</h2>'; echo '</td>';
echo '</tr>';
echo '<tr>';
echo '<td>'; echo '<p>'; echo "{$row['introtext']}."; echo '</p>'; echo '</td>'; echo '</tr>';
echo '<p>'; echo '<tr>';
echo '<td>'; echo '<a href="#">'; echo '<input type="button" value="Read More" />'; echo '</a>'; echo '</td>';
echo '</tr>';
echo '</div>';
echo '<div class="blog-meta">';
echo '<img src="img/avatar.png" alt="Avatar" />';
echo '<tr>'; echo '<td>'; echo '<h4 class="blog-meta-author">'; echo "{$row['created_by']}."; '</h4>';
echo '<span>'; echo 'Category:'; echo "{$row['catid']}."; echo '</span>'; echo '</td>'; echo '</tr>';
echo '</table>';
}
echo "";
mysql_close($conn);
?>
答案 0 :(得分:1)
请注意mysql_fetch_array
只需要数据(数组),无需提供MYSQL_ASSOC
,Cz您的有冲突的MySQL
和MySQLi
和
警告强> 此扩展在PHP 5.5.0中已弃用,并且已在PHP 7.0.0中删除。相反,应该使用MySQLi或PDO_MySQL扩展。
更改此
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
到这个
while($row = mysql_fetch_array($retval))
只需使用即可和
echo $row['created'];
无需像echo "{$row['created']}.";
答案 1 :(得分:0)
您使用的旧Mysql语法自PHP 5.5.0起已弃用,自PHP 7.0.0起已被删除。 如果您使用的是最新版本的PHP,那么您的代码将无法正常工作。请更改相应的语法并重试。
答案 2 :(得分:0)
尝试删除第一行表并放入
例如
while($row = mysql_fetch_array($retval))
{
echo '<table>';
答案 3 :(得分:0)
我尝试使用仅调整过的连接凭据和表/列名来运行您的代码,它运行正常(使用php 5.5和php 5.3)。
数据库中没有记录可能吗?另一种可能性可能是一些错字。
编辑:此外,您只有一个table
开始标记,而关闭标记与存在的记录一样多。尝试检查“空白页面”的源代码。
Edit2:尝试运行此代码段而不是以前的代码,让我们知道会发生什么:
<?php
// connection string constants
define('DSN', 'mysql:dbname=muslimtimes360;host=localhost');
define('USER', 'myusernm');
define('PASSWORD', 'mypwd');
// pdo instance creation
$pdo = new PDO(DSN, USER, PASSWORD);
// query preparation
$stmt = $pdo->query("
SELECT title, introtext, created, created_by, catid
FROM mydb_items
");
// fetching results
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
// if this returns 0 then it means no records are present
echo count($result) . "\n";
// the loop should print valid table
foreach ($result as $index => $row) {
if ($index == 0) echo '<table>';
echo <<<HTM
<tr>
<td>
<span class="post-date">{$row['created']}</span>
</td>
</tr>
<tr>
<td>
<h2 class="blog-post-title">{$row['title']}</h2>
</td>
</tr>
<tr>
<td>
<p>
{$row['introtext']}
</p>
</td>
</tr>
<tr>
<td>
<p>
<a href="#"><input type="button" value="Read More" /></a>
</p>
</td>
</tr>
<tr>
<td>
<div class="blog-meta">
<img src="img/avatar.png" alt="Avatar" />
<h4 class="blog-meta-author">{$row['created_by']}</h4>
<span>Category: {$row['catid']}</span>
</div>
</td>
</tr>
HTM;
if ($index == (count($result)-1)) echo '</table>';
}