我的PHP代码不起作用,因为我使用的是本地主机而不是主机服务器?或者可能是因为我未将标记放在HTML文件的head / body标记中?
嗨!
我将数据存储在SQLite数据库中,并尝试使用PHP让用户搜索这些数据并通过HTML查看它们。 我将以下YouTube视频作为教程进行了学习:https://youtu.be/PBLuP2JZcEg 但我无法使其工作。当我在搜索栏中输入某些内容(例如:new)并提交时,什么也没有发生,也没有显示搜索结果。 (除了网站链接之外,更改为“ http://127.0.0.1:5000/?search_problem=new&search_problem=”)
我为此很努力。如果您能帮助我,我将不胜感激。谢谢。
以下是我的代码和网站的一些屏幕截图,可以帮助您了解如何更好地帮助我:
-我的PHP代码(我在HTML文件中使用了PHP标记来放置这些代码):
<?php
sqlite_connect("blog_id", "problem_name","text") or die ("couldn't find relating problem");
sqlite_select_db("data.sqlite") or die ("couldn't find relating problem");
$output = "";
//collect
if(isset($_POST['search_problem'])){
$search_problem_query = $_POST['search_problem'];
$query = sqlite_query("SELECT * FROM blog_post WHERE problem_name LIKE '%$search_problem_query%' OR text LIKE '%$search_problem_query%' LIMIT 30") or die("couldn't find relating problem");
$count = sqlite_num_rows($query);
if ($count == 0){
$output = "There was no matched problems";
} else {
while $row = sqlite_fetch_array($query){
$problem_name = $row['problem_name'];
$text= $row['text'];
$id= $row['blog_id'];
$output .= " '.$problem_name.' '.$text.' ";
}
}
}
?>
-然后我打印出稍后在HTML文件中找到的搜索结果或搜索结果:
<form class="form-inline my-2 my-lg-0 text-right">
<input class="form-control mr-sm-2" type="search" placeholder="Search problem" aria-label="Search" name="search_problem">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
<?php print("$output"); ?>
我的数据库名称是data.sqlite
-我的数据表“ blog_post”代码:
class BlogPost(db.Model):
__tablename__ = 'blog_post'
users = db.relationship(User)
blog_id = db.Column(db.Integer, primary_key=True)
# blog_next = db.Column(blog_id()+1)
user_id = db.Column(db.Integer,db.ForeignKey('users.id'), nullable=False) #users.id is taken from the tablename(users) and id in its table
date = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) #Automatically post the time of the post
problem_name = db.Column(db.String(140), nullable=False)
text = db.Column(db.Text, nullable=False)
blog_image = db.Column(db.String(140), nullable=False, server_default='default_blog.jpg')
def __init__(self, text, problem_name, user_id, blog_image):
self.text = text
self.problem_name = problem_name
self.user_id = user_id
self.blog_image = blog_image
同样,为了澄清,我的数据表“ blog_post”具有名为“ New life 3”的列“ problem_name”: