Php数据库模型
两件事(可能仅适用于此处的代码示例):Php数据库模型,php,oop,class,object,model,Php,Oop,Class,Object,Model,两件事(可能仅适用于此处的代码示例): 在您的示例中,您没有关闭 类,因为最后一个“}”是 评论说 您从未打开到数据库的连接,因此查询将失败 两件事(这里可能只适用于您的代码示例): 在您的示例中,您没有关闭 类,因为最后一个“}”是 评论说 您从未打开到数据库的连接,因此查询将失败 一些意见: 在构造函数中声明属性是可能的,但这并不优雅。我宁愿做: <?php class ann { public function __construct($context, $orgs_
<?php
class ann {
public function __construct($context, $orgs_id, $created_at) {
$this->context = $context;
$this->orgs_id = $orgs_id;
$this->created_at = $created_at;
}
function create(){
$createann = mysql_query("INSERT INTO anns(context,
orgs_id, created_at)
VALUES('$this->context',
$this->orgs_id, '$this->created_at'");
if($createann) echo "Duyuru Başarıyla Eklendi"; else echo "Duyuru
Eklenemedi";
}
function read($id){
$readann = mysql_query("SELECT * FROM anns WHERE id = $id");
$context = mysql_result($readann,0, "context");
$orgs_id = mysql_result($readann,0, "orgs_id");
$created_at = mysql_result($readann,0,
"created_at");
$ann = new ann($context, $orgs_id, $created_at);
return $ann;
}
function update($id, $context){
$updateann = mysql_query("UPDATE anns SET context =
'$context' WHERE id = $id");
if($updateann) echo "Update success"; else echo
"Update failed";
}
function delete($id){
$deleteann = mysql_query("DELETE FROM anns WHERE id
= $id");
if($deleteann) echo "Delete success"; else echo "Delete not success";
}
//crud fonksiyonlari burda bitiyor
}
?>
“->”运算符在字符串中不起作用。您需要连接查询:
class ann {
private $context;
private $orgs_id;
但是要小心
剩下的应该没问题!祝你好运。一些观察结果:
在构造函数中声明属性是可能的,但这并不优雅。我宁愿做:
<?php
class ann {
public function __construct($context, $orgs_id, $created_at) {
$this->context = $context;
$this->orgs_id = $orgs_id;
$this->created_at = $created_at;
}
function create(){
$createann = mysql_query("INSERT INTO anns(context,
orgs_id, created_at)
VALUES('$this->context',
$this->orgs_id, '$this->created_at'");
if($createann) echo "Duyuru Başarıyla Eklendi"; else echo "Duyuru
Eklenemedi";
}
function read($id){
$readann = mysql_query("SELECT * FROM anns WHERE id = $id");
$context = mysql_result($readann,0, "context");
$orgs_id = mysql_result($readann,0, "orgs_id");
$created_at = mysql_result($readann,0,
"created_at");
$ann = new ann($context, $orgs_id, $created_at);
return $ann;
}
function update($id, $context){
$updateann = mysql_query("UPDATE anns SET context =
'$context' WHERE id = $id");
if($updateann) echo "Update success"; else echo
"Update failed";
}
function delete($id){
$deleteann = mysql_query("DELETE FROM anns WHERE id
= $id");
if($deleteann) echo "Delete success"; else echo "Delete not success";
}
//crud fonksiyonlari burda bitiyor
}
?>
“->”运算符在字符串中不起作用。您需要连接查询:
class ann {
private $context;
private $orgs_id;
但是要小心
剩下的应该没问题!祝你好运。
上下文
,组织id
和在创建的必须首先声明为公共、私有或受保护,然后才能使用它们
在create
方法中,不过滤用户输入。这可能会导致您的应用程序SQL注入,您必须始终过滤用户输入。使用或准备好的支架
您可以对此进行检查。上下文
,组织id
和在
创建时必须首先声明为公共、私有或受保护,然后才能使用它们
在create
方法中,不过滤用户输入。这可能会导致您的应用程序SQL注入,您必须始终过滤用户输入。使用或准备好的支架
您可以对此进行检查。代码底部的注释将删除类的结尾}。这个错误只是在帖子中吗?是的,这只是帖子中的一个错误,谢谢你指出感谢注入警告,但是我们在字符串到达对象创建之前使用了一个过滤器。你代码底部的注释删除了类的结尾}。这个错误只是在帖子中吗?是的,这只是帖子中的一个错误,感谢您指出Thank injection warnings,但是我们在字符串到达对象创建之前使用了一个过滤器。如果您将字符串包装在{}中,您可以在字符串中使用对象运算符,例如“Property value Is{$object->Property}”;这里还有一个关于良好PHP OOP实践的非常好的教程:如果将对象操作符包装在{}中,则可以在字符串中使用它们,例如“属性值为{$object->Property}”;这里还有一个关于良好PHP OOP实践的非常好的教程: