MySQLに配列をInsert, update

もっとスマートな書き方があると思いますが。。。

<?php

$link = mysql_connect('localhost', 'root', '***');
if(!link){
	die('接続失敗です。'.mysql_error());
}
$selected = mysql_select_db('sample', $link);
if ($db_selected){
	die('データベース選択失敗です。'.mysql_error());
}

echo "接続に成功しました。<br>";

$data = array('4','word31','word32','word33','word34','word35','word36','word37','word38','word39','word40');
var_dump($data);

$sql = "INSERT INTO words(id, word1, word2, word3, word4, word5, word6, word7, word8, word9, word10) VALUES ('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]','$data[9]','$data[10]')";
$result_flag = mysql_query($sql);

$result = mysql_query('SELECT * FROM words');
if (!$result){
	die('クエリーが失敗しました。'.mysql_error());
}

while ($row = mysql_fetch_assoc($result)) {
    print('<p>');
    print('id='.$row['id']);
    print(',word1='.$row['word1']);
    print('</p>');
}

echo "<br>";
$close_flag = mysql_close($link);

if($close_flag){
	echo "切断に成功しました。";
}

接続に成功しました。
array(11) { [0]=> string(1) “4” [1]=> string(6) “word31” [2]=> string(6) “word32” [3]=> string(6) “word33” [4]=> string(6) “word34” [5]=> string(6) “word35” [6]=> string(6) “word36” [7]=> string(6) “word37” [8]=> string(6) “word38” [9]=> string(6) “word39” [10]=> string(6) “word40” }
id=1,word1=ワード01

id=2,word1=ワード11

id=3,word1=ワード21

id=4,word1=word31

切断に成功しました。

update

$sql = sprintf("UPDATE words SET word1=%s, word2=%s, word3=%s, word4=%s, word5=%s, word6=%s, word7=%s, word8=%s, word9=%s, word10=%s WHERE id=2", quote_smart($data[1]), quote_smart($data[2]), quote_smart($data[3]), quote_smart($data[4]), quote_smart($data[5]), quote_smart($data[6]), quote_smart($data[7]), quote_smart($data[8]), quote_smart($data[9]), quote_smart($data[10]));