【问题标题】:SQL Query only fetching the first word from a string columnSQL 查询仅从字符串列中获取第一个单词
【发布时间】:2014-11-30 14:22:18
【问题描述】:
<?php
 include('common/connect.class.php');
include('common/admin.class.php');
session_start();
$user = $_SESSION['user'];

$con2 = new connection(); 
$con = $con2->connect();

$sql = "SELECT * FROM xam_category"; //Select Query
$myData = mysql_query($sql,$con) or die(mysql_error());;

echo "<table align='center'>
<tr>
<th>Category name</th>
<th>Category Description</th>
</tr>";
while($record = mysql_fetch_array($myData))
{
echo "<form action=user_book.php method=post>";
echo "<tr>";
echo "<td>" . "<input type=text size=10 readonly='true' name=usrname value=" .      $record['category_name'] . " </td>";
echo "<td>" . "<input type=text size=15 readonly='true' name=usrmail value=" . $record['category_desc'] . " </td>";
echo "<td>" . "<input type=submit name=delete value=DELETE" . " </td>";
echo "<td>" . "<input type=submit name=update value=UPDATE" . " </td>";
echo "</tr>";
echo "</form>";
} 
mysql_close($con);
echo "</table>";
?>

我的 SELECT 查询和数据提取工作正常。但是,当我回显获取的数据时,它只显示第一个单词“Computer”,它的实际值是“Computer Science”。

通过 PhpMyAdmin 查看存储在数据库中的数据似乎没问题。但是,

.php页面显示的数据不一样,不ok。

我卡住了。 如何在 PHP 页面上显示来自 MySQL 数据库的正确字符串?

注意:我在 echo 中使用 html 来循环显示所有数据。抱歉,我必须使用 mysql() 函数无法执行 msqli()。我还在 StackOveflow 中查看了其他相同类型的问题。但是,找不到解决方案。

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    如果您想访问像$record['category_name'] 这样的变量,请尝试使用 mysql_fetch_assoc 而不是 mysql_fetch_array

    请阅读这篇文章:mysql_fetch_row() vs mysql_fetch_assoc() vs mysql_fetch_array()

    【讨论】:

      【解决方案2】:

      如果您有一个包含空格的值,则必须将该值括在 HTML 中的引号内。试试

      echo "<td><input type=text size=10 readonly='true' name='usrname' value='".$record['category_name']."'</td>";
      

      【讨论】:

      • 我只能在3分钟后接受。你不知道吗?希望+1。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-08
      • 1970-01-01
      • 2013-09-04
      • 1970-01-01
      • 2011-06-25
      • 1970-01-01
      • 2016-03-14
      相关资源
      最近更新 更多