2011-07-31 39 views
0

這工作:PHP/MySQL查詢和字符串從mysql_fetch_array行級聯()

$row = mysql_fetch_array($result); 
$accountID = $row['accountID']; 
queryMysql('INSERT INTO accounts (accountID, password) VALUES (' . 
      "'$accountID'" . ', \'a\')'); 

但這並不:

$row = mysql_fetch_array($result); 
queryMysql('INSERT INTO accounts (accountID, password) VALUES (' . 
      $row['accountID'] . ', \'a\')'); 

爲什麼?

+0

'queryMysql()'不是函數和'$ accountID'不確定的,所以在技術上既不應該工作。 –

+0

不好意思啊,我是用我自己做,以使MySQL查詢清潔的功能。 –

回答

2

因爲你錯過了另一個「右前後$行[」帳戶ID']

$row = mysql_fetch_array($result); 
queryMysql('INSERT INTO accounts (accountID, password) VALUES (\'' . 
      $row['accountID'] . '\', \'a\')'); 

如果你開始PHP和使用PHP(5.1.0)所需的版本,我強烈建議你開始使用PDO

http://php.net/pdo

而不是標準的mysql_的*

+0

好眼力....... –

+0

感謝您的PDO指針,我會看起來更成!在$ row ['accountID']之前和之後添加單引號不起作用 - 不是一個字符串文字嗎?我原來是第二種方式,因爲http://www.w3schools.com/PHP/php_mysql_select.asp。accountID列是int類型。 –

+0

你有什麼錯誤? –

0

首先,你應該總是告訴我們爲什麼它不起作用。只是說「它不工作」真的乞求讓你的帖子被忽略。

其次,錯誤的原因很可能是缺少報價,但如果有另一個潛在的問題,只會是必要的。列accountID的類型似乎是varchar或text。一個ID應該是一個整數。

你必須用引號來包裝你的價值,如果它是一個字符串,你不這樣做,如果它是一個整數。

+0

accountID列是int類型;爲什麼它看起來像varchar? –

+0

@Sarah,因爲如果你不使用引號會引發錯誤。整數不需要引號。請告訴我們什麼是問題。沒有人想猜測,說「它不工作」真的是無益的。 –