誰かが私を喜ばせることができるかどうか疑問に思う。mysql_insert_id()
PHPでmysql_insert_id()コマンドを実装しようとしていますが、これを動作させることができないようです。
私は本当に簡単なスクリプト(下記)を使ってテストしていますが、 'testimages'テーブルではなく 'testfinds'テーブルに作成するレコードしか取得できません。私は私が発見し、自分のコードに対してこれをチェックし、そこにどんな違いがあるようには思えないし、私は二重の私がしたい場合は、単に確認するために、テーブルとフィールド名をチェックした例を進めてきた
<?php
$conn = mysql_connect("hostname","username","password");
if (!$conn) {
die('PHP Mysql database connection could not connect : ' . mysql_error());
}
$findname=$_POST[findname];
$phototitle=$_POST[phototitle];
$db_selected = mysql_select_db("database", $conn);
$sql = "INSERT INTO testfinds (findname)VALUES ('$findname')";
$result = mysql_query($sql, $conn);
$findid = mysql_insert_id($conn);
$sql = "INSERT INTO testimages (phototitle) VALUES ('$phototitle','$findid')";
$result = mysql_query($sql, $conn);
//echo "Inserted record id is : " . mysql_insert_id();
mysql_close($conn);
?>
そこには誤りがありましたが、何も見つかりませんでした。
これは私が使用しているフォームで、やはり機能をテストするのに本当に簡単なものです。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Map</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&language=en"></script>
<form enctype="multipart/form-data" action="savephp.php" name="save" id="savefindsandimages" method="post">
<label>Find Name:<input type="text" name="findname" id="findname" />
<br />
<br />
Photo Title:
<input type="text" name="phototitle" id="phototitle" />
<br />
<br />
</label>
<p>
<input type="submit" value="Add">
誰かがこれを見て、私が間違っている場所を教えてもらえたかどうかは疑問でしたか?
感謝
** WARNING **あなたのコードは、SQLインジェクション攻撃に対して非常に敏感です! –
こんにちは、私の記事を読んで返信する時間を取ってくれた多くのスナックス。私はあなたのSQL警告について非常に心配していることを認めなければなりません。私はこれにかなり新しいことを認めなければならないかもしれませんが、なぜ私のコードがこれらの攻撃の1つに公開されているのかを簡単に説明できますか?種類に関しては – IRHM
が対象です。おそらく準備された声明を調べることが役立つでしょう –