我正在为我的应用程序使用框架 cakePHP。我使用 xampp 在 localhost 上对其进行了编程,现在尝试将其上传到我的网站上。它在本地主机上没有任何问题。现在只有这一页,在新服务器上不起作用。其他站点(也使用数据库连接)工作正常。
对于这一站点,将显示以下消息:
错误:SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“添加”附近使用正确的语法
SQL 查询:添加
函数 add() 看起来像这样。
public function add() {
//$this->create();
$word_id = $this->Word->getWord_id();
$save = $this->save(array('word_id' => $word_id, 'text' => $this->getText($word_id), 'mistake' => 0));
return $save['Game']['id'];
}
在本地主机上,我使用了 MySQL-Client-Version: mysqlnd 5.0.8-dev - 20102224 - $Revision: 310735 $ 和 PHP 版本 5.3.8。
在服务器上,我使用 MySQL-Client-Version: 5.1.62 和 PHP Version 5.3.17。
非常感谢您的帮助!
编辑:模型“游戏”:
class Game extends AppModel {
public $name = 'Game';
public $belongsTo = 'Word';
public $searchedWord = '';
public function addGame() { // Create new game
$word_id = $this->Word->getWord_id();
$save = $this->save(array('word_id' => $word_id, 'text' => $this->getText($word_id), 'mistake' => 0));
return $save['Game']['id']; // Build the hangman
}
}
当我调试 $this->Game 时,输出是:
object(AppModel) {
useDbConfig => 'default'
useTable => 'games'
id => null
data => array()
schemaName => null
table => 'games'
primaryKey => 'id'
validate => array()
validationErrors => array()
validationDomain => null
name => 'Game'
alias => 'Game'
tableToModel => array(
'games' => 'Game'
)
cacheQueries => false
belongsTo => array()
hasOne => array()
hasMany => array()
hasAndBelongsToMany => array()
actsAs => null
Behaviors => object(BehaviorCollection) {
modelName => 'Game'
defaultPriority => (int) 10
}
whitelist => array()
cacheSources => true
findQueryType => null
recursive => (int) 1
order => null
virtualFields => array()
__backAssociation => array()
__backInnerAssociation => array()
__backOriginalAssociation => array()
__backContainableAssociation => array()
findMethods => array(
'all' => true,
'first' => true,
'count' => true,
'neighbors' => true,
'list' => true,
'threaded' => true
)
}