不能修改表 'content' 的設計。它在唯讀資料庫中
$db=$_SERVER['DOCUMENT_ROOT']."\myfirst.mdb";
$connstr="Driver={Microsoft Access Driver (*.mdb)};Dbq=$db";
$connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC) or die("資料庫開啟失敗!請聯絡管理員");
echo 123;
$sql="create table content(id counter constraint primarykey primary key,[標題] varchar(50) null,[省市] varchar(30) null,[內容] varchar(255),[已采] bit,[已發] bit)";
echo $sql;
odbc_exec($connid,$sql);
執行結果:
Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC Microsoft Access Driver] 不能修改表 'content' 的設計。它在唯讀資料庫中。, SQL state 42000 in SQLExecDirect in G:\zhengli\access.php on line 9
怎麼解決錯誤,順利建立access表
分享到: 更多
------解決方案--------------------
表 content 已經存在了,你再 create table content ... 當然是要報錯啦
修改表結構要用 ALTER 指令
你一定要重建立表的話,請先刪除該表(DROP 指令)
------解決方案--------------------
沒有content表? 許可權不夠吧。
------解決方案--------------------
在 Access 管理其中建立一空資料庫 db1
執行你的代碼
$db = realpath("db1.mdb");
$connstr = "Driver={Microsoft Access Driver (*.mdb)};Dbq=$db";
$connid = odbc_connect($connstr,"","",SQL_CUR_USE_ODBC) or die("資料庫開啟失敗!請聯絡管理員");
echo 123;
$sql = "create table content(id counter constraint primarykey primary key,[標題] varchar(50) null,[省市] varchar(30) null,[內容] varchar(255),[已采] bit,[已發] bit)";
echo $sql;
odbc_exec($connid, $sql);
然後用 access 管理器開啟它:
結論我想你已經得到了