2

データを正常に更新している他のページがあるので、内部結合と関係があると思います。

2 つのテーブルは次のとおりです。行 idMed_med がプライマリに設定された medArt、および行 idLogin_art がプライマリに設定され、idMed_art が外部キーとして設定された artistArt 両方のテーブルは INNODB です

これが私のクエリで、コード全体がその下にあるので、必要に応じて変数を設定する方法を確認できます。

SELECT artistArt.idLogin_art, artistArt.titleFirst_art, 
       artistArt.medFirst_art, artistArt.wFirst_art, artistArt.hFirst_art, 
       artistArt.pxFirst_art, artistArt.imageFirst_art, medArt.idMed_med, 
       medArt.nameMed_med
FROM artistArt, medArt
WHERE artistArt.idMed_art = medArt.idMed_med AND artistArt.idLogin_art = colname

コード:

<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

mysql_select_db($database_connArt2013, $connArt2013);
$query_rsMedia = "SELECT * FROM medArt";
$rsMedia = mysql_query($query_rsMedia, $connArt2013) or die(mysql_error());
$row_rsMedia = mysql_fetch_assoc($rsMedia);
$totalRows_rsMedia = mysql_num_rows($rsMedia);

$colname_rsArtists = "1";
if (isset($_GET['idLogin_art'])) {
  $colname_rsArtists = $_GET['idLogin_art'];
}
mysql_select_db($database_connArt2013, $connArt2013);

$query_rsArtists = sprintf("
  SELECT artistArt.idLogin_art, artistArt.titleFirst_art, artistArt.medFirst_art,
         artistArt.wFirst_art, artistArt.hFirst_art, artistArt.pxFirst_art, 
         artistArt.imageFirst_art, medArt.idMed_med, medArt.nameMed_med 
  FROM artistArt, medArt WHERE artistArt.idMed_art = medArt.idMed_med 
    AND artistArt.idLogin_art = %s", GetSQLValueString($colname_rsArtists, "int"));

$rsArtists = mysql_query($query_rsArtists, $connArt2013) or die(mysql_error());
$row_rsArtists = mysql_fetch_assoc($rsArtists);
$totalRows_rsArtists = mysql_num_rows($rsArtists);
?>
4

1 に答える 1

0

エラーは表示されません。投稿されないだけです。」 -- コードを実行しても何も表示されないということですか?

あなたのコードはで終わります

$row_rsArtists = mysql_fetch_assoc($rsArtists);
$totalRows_rsArtists = mysql_num_rows($rsArtists);

したがって、テーブルの内容を表示するコードはありません。 $row_rsArtists結果の最初の行が関連配列として含まれます (さらに行を取得するmysql_fetch_assoc()には、ループ で呼び出し$totalRows_rsArtistsます。クエリによって返される行の数が含まれます。

echo何かを画面に表示するには、結果行をフェッチするループ内に何かが必要です。

于 2013-05-03T13:16:04.467 に答える