XAMPP 5.5.37 を導入した開発環境を使用しているのですが、SQLで問題が発生し解決策がわからず、質問をさせていただきます。
[現象]
インスタンスを2つ発行し、1つ目で lock tables を実施した後に、2つ目で insert を実施するとフリーズ発生。
web上の本番サーバー環境ではフリーズせず動作するので、XAMPPで何らかの設定が誤っているのかもしれませんが、原因がわからず困っています。
[ソース]
$mysql = new mysql;
$mysql2 = new mysql;
//----------------------------------------
$sql = "lock tables DB1 write, DB2 write";
$mysql->query($sql);
//----------------------------------------
$sql = "select * from DB1";
$mysql->query($sql);
while($DB1Val = $mysql->fetch()) {
$sql = "insert into DB2 values("---------");
$mysql2->query($sql); ←ここでフリーズ発生
}
function MySQL(){
$this->m_con=
mysql_connect($this->m_hostname,$this->m_username,$this->m_password);
if (!$this->m_con){
die ("MySQLへの接続に失敗しました。");
}
if (!mysql_select_db($this->m_database,$this->m_con)){
die ("データベースの選択に失敗しました。DB:{$this->m_database}");
}
mysql_set_charset('utf8',$this->m_con);
}
function query($sql){
$this->m_rows = mysql_query($sql,$this->m_con);
if (!$this->m_rows){
die ("MySQLでエラーが発生しました。<br><b>{$sql}</b><br>" .mysql_errno() .":" .mysql_error());
}
return $this->m_rows;
}
他の環境から移行してきたのですが、そちらの環境ではXAMPPを使用していないとのことです。
回答2件
あなたの回答
tips
プレビュー