PHP 5.1.2, MySQL 5.0.20 버젼에서 SP 호출을 위해 mysqli_ 함수 사용시 Lost Connection 되는 문제..

kirrie의 이미지

현재 윈도우 상에서 XAMPP를 인스톨하여 (PHP 5.1.2, MySQL 5.0.22 버젼) 개발중입니다.
SP는 변수를 하나 받아서 SELECT하는 구문이구요, Mysqli_Connect를 이용해 디비에 커넥트하고

$Res = Mysqli_Query("CALL recv_something('1');");

위와 같은 함수로 쿼리를 날립니다.

그런데 한 페이지에 CALL이 한번 이상 있을 경우 두번째 쿼리는 Lost connection to MySQL server during query라는 에러를 뱉고 실행되지 않습니다.

이게 항상 그러는 것이 아니라 열번에 한번 정도 이런 현상이 일어납니다. 아예 완전히 두번째 CALL이 안되면 그냥 일반 쿼리를 쓰겠는데, 가끔가다 이러니 참 곤란합니다.

찾아본 바로는 이게 버그라는 이야기도 있고, 디비 커넥션 시에 Mysqli_Init()와 Mysqli_real_connect()를 쓰면 괜찮아 진다는 둥 이야기가 하나로 통일되지 않아서 해결하기가 힘들군요.

답변이나 힌트 좀 부탁드립니다. 답변에 미리 감사드리면서.. 다시 열코딩 모드로 -_-;;

kirrie의 이미지

음.. 아깐 바빠서 구글링을 못했는데, 지금 해보니 버그가 아니군요.

Mysqli_Query로 SP를 CALL할시에 이전 Mysql_Query와는 달리 리턴되는 결과셋이 2개랍니다. 하나는 SELECT 결과셋이고 (대체 뭐에 대한 SELECT란건지;;;) 다른 하나는 SP의 결과셋입니다. 때문에 Mysqli_More_Result()으로 결과셋이 하나 이상이라고 판단되면 Mysqli_Next_Result()로 결과셋을 날려(?) 버린 뒤에 다음 SP를 CALL하라는 이야기 같습니다. (PHP 레퍼런스에도 참고되는 내용이 있습니다.)

아.. 대략 정신이 멍해지는군요. SP를 그냥 Mysql_Query로 CALL하면 안되겠니? -_-;;

좀 더 구체적인 설명 가능하신분은 설명 부탁드립니다..

데비안으로 대동단결!

--->
데비안 & 우분투로 대동단결!

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.