所以在我最近的話題之後,我瞭解了PDO。我正在盡我所能去理解它,並努力工作。但現在的問題是,我的新pdo腳本不會插入和更新,如果存在數據庫中。現在我在這裏問它,因爲我是PDO的首發者,並且我正在盡力而爲。PDO插入和更新
現在這是我使用的代碼。
$db->prepare(
'INSERT INTO track (`rsname`, `overallranknow`, `overalllevelnow`, `overallxpnow`)' .
'VALUES (' .$name. '. ' .$Overalln. ', ' .$Overall[1]. ', ' .$Overall2. ') '.
'ON DUPLICATE KEY UPDATE ' .
"rsname = ' .$name. '" .
"overallranknow = ' .$Overalln. ' " .
"overalllevelnow = ' .$Overall[1].' " .
"overallxpnow = ' .$Overall2. ' "
);
的代碼是一樣無所事事現在
- 它不插入到數據庫中。
- 它沒有更新到數據庫中。
而且我的數據庫連接文件是這樣的
<?php
$config['db'] = array(
'host' => 'localhost',
'username' => '',
'password' => '',
'dbname' => ''
);
$db = new PDO('mysql:host=' . $config['db'] ['host'] . ';dbname=' . $config['db'] ['dbname'], $config['db'] ['username'], $config['db'] ['password']);
也許我張貼mutch問題在這裏,我知道,但我想了解它。
〜千電子伏(英語不好=對不起)
這是偉大的,你使用的PDO,但你**不能**寫SQL代碼這種方式,而不會引入嚴重[SQL注入漏洞( http://bobby-tables.com/)。您的查詢應該看起來像INSERT INTO track(...)VALUES(:name,:Overalln,:Overall1,Overall2)...',然後在執行調用期間將值綁定到這些佔位符:execute(array ('name'=> $ name,'Overalln'=> $ Overalln,'Overall1'=> $ Overall [1],'Overall2'=> $ Overall2))''。 – tadman
@tadman感謝您的評論!但是你認爲「執行」是什麼意思?你可以把它放在我發佈的代碼中嗎? – Kev30
另外我想更新表,如果它存在可能? – Kev30