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){
alert(data);
$('#name').val("");
$('#phone').val("");
$('#id_card').val("");
$('#health_card').val("");
$('#contact_name').val("");
$('#contact_phone').val("");
},
});
},
rules:{
name:{
required:true,
},
age:{
required:true,
},
phone:{
required:true,
},
id_card:{
required:true,
},
},
messages:{
name:{
required:'姓名不得为空',
},
age:{
required:'年龄不得为空',
},
phone:{
required:'电话不得为空',
},
id_card:{
required:'身份证不得为空',
},
},
});
控制器:
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 $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,
'phone'=>$phone,
'id_card'=>$id_card,
'health_card'=>$health_card,
'hospitalized'=>$hospitalized,
'address'=>$address,
'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:Table 'aier.u' doesn't exist [ SQL语句 ] : REPLACE INTO `U` () VALUES ()
错误位置
FILE: D:\wamp64\www\aier\ThinkPHP\Library\Think\Db\Driver.class.php LINE: 350
TRACE
#0 D:\wamp64\www\aier\ThinkPHP\Library\Think\Db\Driver.class.php(350): E('1146:Table 'aie...')
#1 D:\wamp64\www\aier\ThinkPHP\Library\Think\Db\Driver.class.php(237): Think\Db\Driver->error()
#2 D:\wamp64\www\aier\ThinkPHP\Library\Think\Db\Driver.class.php(824): Think\Db\Driver->execute('REPLACE INTO `U...', false)
#3 D:\wamp64\www\aier\ThinkPHP\Library\Think\Model.class.php(320): Think\Db\Driver->insert('3424', 'U24234', '24323423')
#4 D:\wamp64\www\aier\APP\Home\Controller\UserController.class.php(12): Think\Model->add('3424', '324234', '24323423', '', '', '', '', '')
#5 [internal function]: Home\Controller\UserController->add()
#6 D:\wamp64\www\aier\ThinkPHP\Library\Think\App.class.php(173): ReflectionMethod->invoke(Object(Home\Controller\UserController))
#7 D:\wamp64\www\aier\ThinkPHP\Library\Think\App.class.php(110): Think\App::invokeAction(Object(Home\Controller\UserController), 'add')
#8 D:\wamp64\www\aier\ThinkPHP\Library\Think\App.class.php(204): Think\App::exec()
#9 D:\wamp64\www\aier\ThinkPHP\Library\Think\Think.class.php(120): Think\App::run()
#10 D:\wamp64\www\aier\ThinkPHP\ThinkPHP.php(97): Think\Think::start()
#11 D:\wamp64\www\aier\index.php(24): require('D:\\wamp64\\www\\a...')
#12 {main}
本来在另外一台电脑上wamp2.4 win7 完全可以运行,现在换了台电脑,wamp3.0 win10 就不能运行了,为什么啊?是不是配置没配好
回复讨论(解决方案)
这根本就是win10的问题。我换了win7马上能用了
如果报 404,那就是配置问题了
但你接下来的错误信息又是哪里来的呢?
Table 'aier.u' doesn't exist [ SQL语句 ] : REPLACE INTO `U` () VALUES ()
表 aier.u 不存在,就是你自己的问题了
知道问题了
控制器里:
如果直接用$user->add会直接操作数据库,不连model,比如我把控制器的$user->add改成$user->dadd,报 Think\Model: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

PHP在現代編程中仍然是一個強大且廣泛使用的工具,尤其在web開發領域。 1)PHP易用且與數據庫集成無縫,是許多開發者的首選。 2)它支持動態內容生成和麵向對象編程,適合快速創建和維護網站。 3)PHP的性能可以通過緩存和優化數據庫查詢來提升,其廣泛的社區和豐富生態系統使其在當今技術棧中仍具重要地位。

在PHP中,弱引用是通過WeakReference類實現的,不會阻止垃圾回收器回收對象。弱引用適用於緩存系統和事件監聽器等場景,需注意其不能保證對象存活,且垃圾回收可能延遲。

\_\_invoke方法允許對象像函數一樣被調用。 1.定義\_\_invoke方法使對象可被調用。 2.使用$obj(...)語法時,PHP會執行\_\_invoke方法。 3.適用於日誌記錄和計算器等場景,提高代碼靈活性和可讀性。

Fibers在PHP8.1中引入,提升了並發處理能力。 1)Fibers是一種輕量級的並發模型,類似於協程。 2)它們允許開發者手動控制任務的執行流,適合處理I/O密集型任務。 3)使用Fibers可以編寫更高效、響應性更強的代碼。

PHP社區提供了豐富的資源和支持,幫助開發者成長。 1)資源包括官方文檔、教程、博客和開源項目如Laravel和Symfony。 2)支持可以通過StackOverflow、Reddit和Slack頻道獲得。 3)開發動態可以通過關注RFC了解。 4)融入社區可以通過積極參與、貢獻代碼和學習分享來實現。

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP不是在消亡,而是在不斷適應和進化。 1)PHP從1994年起經歷多次版本迭代,適應新技術趨勢。 2)目前廣泛應用於電子商務、內容管理系統等領域。 3)PHP8引入JIT編譯器等功能,提升性能和現代化。 4)使用OPcache和遵循PSR-12標準可優化性能和代碼質量。

PHP的未來將通過適應新技術趨勢和引入創新特性來實現:1)適應云計算、容器化和微服務架構,支持Docker和Kubernetes;2)引入JIT編譯器和枚舉類型,提升性能和數據處理效率;3)持續優化性能和推廣最佳實踐。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

記事本++7.3.1
好用且免費的程式碼編輯器

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器