按id选择mysql php
我想按id选择行并显示它。我的表名为text 这是桌子上的东西按id选择mysql php,php,mysql,Php,Mysql,我想按id选择行并显示它。我的表名为text 这是桌子上的东西 BookID Type init Title Author PublisherName CopyrightYeare 我想这样称呼他们 text id 10 通过这个动作,我得到了第10行,我得到了所有的信息 BookID, Title, Author, PublisherName, CopyrightYeare 如果我质疑这一点 text id 14 通过这个动作,我得到了第14行,我再次得到了所有的信息 <?p
BookID Type init
Title
Author
PublisherName
CopyrightYeare
我想这样称呼他们
text id 10
通过这个动作,我得到了第10行,我得到了所有的信息
BookID, Title, Author, PublisherName, CopyrightYeare
如果我质疑这一点
text id 14
通过这个动作,我得到了第14行,我再次得到了所有的信息
<?php
function text($id){
$query = "SELECT * FROM text WHERE BookID =" .$id ;
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_assoc($result);
}
?>
<?php
echo text (14) ;
?>
您正在调用名为displaytext的函数,但该函数名为text
函数文本不返回值,因此回显将无需打印。您有一些问题 您正在使用过时的mysql_*函数。考虑升级到 您容易受到SQL注入攻击。再一次,看看mysqli,了解如何正确使用准备好的语句。 您的函数名为text,您正在调用displaytext 您的函数没有返回结果。在函数末尾,添加return$row;为了得到结果
很抱歉,回复太晚了,我刚刚收到了另一封信,这是一个工作代码。 问题wre 您没有从函数中返回任何内容 您没有逃逸$id,这将使其易于SQL注入 前面提到的函数名, 我希望这能帮你解决问题。参见下面的代码
<?php
function text($id){
$id = mysql_real_escape_string($id);
$query = "SELECT * FROM text WHERE BookID = $id";
$row = mysql_fetch_assoc(mysql_query($query));
return $row;
}
print_r(text('1'));
?>
那么,这里的问题是什么呢?您的函数名与您的函数调用名不匹配您正在调用displaytext,但您的函数定义是文本,这是不同的,它应该是匹配的。您的代码有很多错误。我建议您学习一个不错的PHP/MySQL教程,阅读编程基础知识,然后再试一次。如果您仍然无法让它工作,请向我们说明问题、您尝试了什么以及它是如何失败的。您的函数已声明为text,然后您调用的是displaytext,这是一个完全不同的函数,函数text根本没有返回值,所以不要期望值,在您当前的代码中,根本没有与mysql的连接