thinkphp が add メソッドを呼び出すと、http://localhost..../insert にアクセスできないというメッセージが表示されます
public function insert() { header('Content-type:text/html; charset=utf-8'); date_default_timezone_set('Etc/GMT-8'); $article = M('article'); $data = array(); $data['title'] = $_POST['title']; $data['author'] = $_SESSION['username']; $data['category'] = $_POST['category']; $data['content'] = $_POST['content']; $data['createtime'] = strtotime(date("Y-m-d")); if($data['category'] == '请选择' || $data['title']=='') { $this->error('数据写入不完整,请重新输入'); } $result = $article->add($data); }
exit;
SQL を実行すると問題が発生します。 、
というプロンプトが表示され、以下のものはまったく表示されません。
insert メソッドを変更します
public function insert() {
die("ok"); }
Article/insert を呼び出して、プロンプトが何であるかを確認してください。
あなたが言ったように出力します: ok
私の問題はこれです、それはデータを渡します。
print_r($data);
$article->execute($aql) も使用します
SQL ステートメントをデータベースに挿入できます。データベースに
データがあります。これは私の PHP 6.0 バージョンに問題がありますか?
Thinkphp と競合します。ご回答ありがとうございます
//if($data['category'] == '選択してください' || $data['title']=='') {
//$this->error('書き込まれたデータは不完全です。再入力してください。
// }
$result = $article->add($data);
$result = $article->add($data);
または、次のように変更します
私のモデルクラス:
<?php class ArticleModel extends Model { protected $_validate=array( array('title','require', '标题不能为空'), array('author','require', '作者必须要'), array('category','require', '文章类型不能为空'), array('content','require','文章内容不能为空'), array('createtime','require','发表时间必须') ); } ?>
Thinkphp ソースコードの追加方法、ガイドしてください:
public function add($data='',$options=array(),$replace=false) { if(empty($data)) { // 没有传递数据,获取当前数据对象的值 if(!empty($this->data)) { $data = $this->data; // 重置数据 $this->data = array(); }else{ $this->error = L('_DATA_TYPE_INVALID_'); return false; } } // 分析表达式 $options = $this->_parseOptions($options); // 数据处理 $data = $this->_facade($data); if(false === $this->_before_insert($data,$options)) { return false; } // 写入数据到数据库 $result = $this->db->insert($data,$options,$replace); if(false !== $result ) { $insertId = $this->getLastInsID(); if($insertId) { // 自增主键返回插入ID $data[$this->getPk()] = $insertId; $this->_after_insert($data,$options); return $insertId; } $this->_after_insert($data,$options); } return $result; }
public function insert($data,$options=array(),$replace=false) { $values = $fields = array(); $this->model = $options['model']; foreach ($data as $key=>$val){ $value = $this->parseValue($val); if(is_scalar($value)) { // 过滤非标量数据 $values[] = $value; $fields[] = $this->parseKey($key); } } $sql = ($replace?'REPLACE':'INSERT').' INTO '.$this->parseTable($options['table']).' ('.implode(',', $fields).') VALUES ('.implode(',', $values).')'; $sql .= $this->parseLock(isset($options['lock'])?$options['lock']:false); return $this->execute($sql); }