0

作業できないコードのセクションがあります。$num 変数を mysql クエリに渡す必要があるため、最新のレコードが $num で更新されます。

$num_d = '1234'; を設定すると、コードが機能します。

$num 変数をクエリステートメントに渡すにはどうすればよいですか

 $test_message ="$full, $t_phone_number, $f_phone_number";

//explode sms message into variables
list($name, $status, $timecode, $latitude, $longitude, $num, $city, $state, $t_phoneb, $t_phone, $f_phone) = explode("," , $test_message);

print_r(explode(',', "$test_message"));

$num_ext = explode(",", $test_message);
$num_d = (string)$num_ext[5];

// Update database table
 mysql_query("UPDATE msg SET timecode_off= '$timecode' WHERE (num= '$num_d') ORDER BY id DESC LIMIT 1");
4

5 に答える 5

0

$test_message が正しくフォーマットされている場合$num、次のように直接使用できるはずです。

mysql_query("UPDATE msg SET timecode_off= '$timecode' WHERE (num= '$num') LIMIT 1");

于 2013-10-24T22:31:19.813 に答える
0
$test_message ="$full, $t_phone_number, $f_phone_number";
$num_ext = explode(",", $test_message);

結果は次のとおりです。

$num_ext[0] = $full;
$num_ext[1] = $t_phone_number;
$num_ext[2] = $f_phone_number; and so on

$num_d = $num_ext[5];
$sql = "UPDATE msg SET timecode_off= '$timecode' WHERE num='$num_d' ORDER BY id DESC LIMIT 1"
$query = mysql_query($sql, $connection);
于 2013-10-24T22:31:53.300 に答える
0

あなたのコードはバグがあるように見えます.3行も同じことをしています

/* Here, what is the $full format? I looks like a string with coma separated */
$test_message ="{$full}, {$t_phone_number}, {$f_phone_number}";

/* Mapping the array without spaces */
$array = array_filter(array_map('trim', explode(',', $test_message)));

/* Update database table */
 mysql_query("UPDATE msg SET timecode_off= '{$array[2]}' WHERE (num= '{$array[5]}');") or die (mysql_error());

このコードは機能するはずですが、 $full構造はわかりません。もう 1 つの考慮すべき点は、ORDER BY 制限です。つまり、SELECT 句の場合で、UPDATE 句の場合は不要です。おそらく WHERE が必要です。

于 2013-10-24T22:34:43.127 に答える