Thinkphp フレームワーク
元々、wamp2.4 win7 は別のコンピューターで十分に実行できましたが、コンピューターを変更したのに、wamp3.0 win10 が実行できなくなりました。構成が正しく構成されていませんか
次のコード
html:
js:
$('#add_user').validate({
submitHandler:function(form){
$('#add_user').ajaxSubmit({
url:ThinkPHP['MODULE']+'/User/ add',
type:'POST',
success:function(data){
$('#name').val("");
$('#phone').val( "");
$('#id_card').val("");
$('#contact_name').val(""); $('#contact_phone').val("");
},
});
ルール:{
必須: true,
},
年齢:{
必須: true,
},
電話:{
required:true,
},
id_card:{
required:true,
},
},
メッセージ:{
name:{
required:'姓名不得空',
} 、
年齢:{
必須:'年龄不得空',
},
電話番号:{
必須:'电话不得空',
},
id_card:{
必須:'身份证不得空',
}、
}、
});
制御器:
public function add(){
$user=D('User');
$id=$user->add(I('post.name'),I('post.phone'),I('post.id_card'),I('post.health_card'),I(' post.hospitalized'),I('post.address'),I('post.contact_name'),I('post.contact_phone'));
echo $id?$id:0;
}
model:
public function add($name,$phone,$id_card,$health_card,$hospitalized,$address,$contact_name,$contact_phone){
//$身份证号 = '';
$birth = strlen($id_card)==15 ? ('19' . substr($id_card, 6, 6)) : substr($id_card, 6, 8);
$birth=substr($birth,0,4).'-'.substr($birth,4,2).'-'.substr($birth,6,2);
list($year,$month,$day) = explode("-",$birth);
$year_diff = date("Y") - $year;
$month_diff = date("m") - $month;
$day_diff = date("d") - $day;
if ($day_diff < 0 || $month_diff < 0)
$year_diff--;
$age=$year_diff;
$sex = substr($id_card, (strlen($id_card)==15 ? -1 : -2), 1) % 2 ? 「男」: 「女」;
$data=array(
'name'=>$name,
'age'=>$age,
'sex'=>$sex,
'電話'=>$電話、
' id_card'=>$id_card,
'health_card'=>$health_card,
'入院'=>$入院,
'住所'=>$アドレス,
'contact_name'=>$contact_name,
' contact_phone'=>$contact_phone,
);
return M('User')->add($data);
}
火狐报错:POST XHR http://localhost/aier/index.php/Home/User/add [HTTP/1.1 404 Not Found 35ms]
:(
1146:テーブル 'aier.u' 存在しません [ SQL语句 ] : REPLACE INTO `U` () VALUES ()
错误位置
FILE: D:wamp64wwwaierThinkPHPLibraryThinkDbDriver.class.php LINE: 350
トレース
#0 D:wamp64wwwaierThinkPHPLibraryThinkDbDriver.class.php(350): E('1146:Table 'aie...')
#1 D:wamp64wwwaierThinkPHPLibraryThinkDbDriver.class.php(237): ThinkDbDriver->error()
# 2 D:wamp64wwwaierThinkPHPLibraryThinkDbDriver.class.php(824): ThinkDbDriver->execute('REPLACE INTO `U...', false)
#3 D:wamp64wwwaierThinkPHPLibraryThinkModel.class.php(320): ThinkDbDriver->insert( '3424', 'U24234', '24323423')
#4 D:wamp64wwwaierAPPHomeControllerUserController.class.php(12): ThinkModel->add('3424', '324234', '24323423', '', '', '', '', '')
#5 [内部 関数]: HomeControllerUserController->add()
#6 D:wamp64wwwaierThinkPHPLibraryThinkApp.class.php(173): ReflectionMethod->invoke(Object(HomeControllerUserController))
#7 D:wamp64wwwaierThinkPHPLibraryThinkApp.class.php(110): ThinkApp::invokeAction(Object(HomeControllerUserController), 'add')
#8 D:wamp64wwwaierThinkPHPLibraryThinkApp.class.php(204): ThinkApp::exec()
#9 D:wamp64wwwaierThinkPHPLibraryThinkThink.class.php(120): ThinkApp::run()
#10 D:wamp64wwwaierThinkPHPThinkPHP.php(97): ThinkThink::start()
#11 D:waamp64wwwaierindex.php(24): require(' D:\wamp64\www\a...')
#12 {main}
本来は另外一台电脑上wamp2.4 win7 完全に実行可能、现在换了台电脑、wamp3.0 win10 就は実行できません了、何を為すのか? これは根本的に win10 の问题です私は win7 上で能力を使用しました
如果报404、那就是構成问题了
しかし次来の错误情報又是哪里来的呢?
Table 'aier.u' が存在しません [ SQL语句 ] : REPLACE INTO `U` () VALUES ()
表 aier.u 不存在,就是你自己的问题了 知道问题了 制御器里:
如果直接用$user->add会直接操作数据库,不连モデル,比如我握制器的$ user->add改成$user->dadd,报 ThinkModel:daddメソッドが存在しません!
$user=D('User');
$id=$user->dadd(I('post.name'),I('post.phone'),I('post.id_card'),I('post.health_card'),I(' post.hospitalized'),I('post.address'),I('post.contact_name'),I('post.contact_phone'));
藮これこれ怎么办?私的tpバージョンは3.2.3