저는 PHP/MySQL을 처음 사용하고 있으며 기본을 통해 작업 중입니다.하나의 필드를 구문 분석하여 MySQL의 다른 필드를 채 웁니다.
필드 및 데이터 :
txtProductBowlCode
data examples: OakSc07-001, MapleTi07-030, MapleTi07-034, BlackLimba07-002, AshSc07-017
txtProductPrimarySpecies
data examples: Oak, Maple, Maple, BlackLimba, Ash
나는 2 개 필드가 테이블 tblsplintersbowlinventory로 (내 윈도우 7에서는 작동하지 않습니다 액세스 2000에서 이동하는 것이) MySQL 데이터베이스의 scwdb이
즉, txtProductPrimarySpecies 필드에 종을 기록하고 싶습니다. 오류 및 인쇄 "완료"를 표시하지 않습니다,
<?php
$con = mysql_connect("localhost","xxxxxxx","zzzzzzz");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("scwdb", $con);
$species = 'Maple';
mysql_query("UPDATE tblsplintersbowlinventory WHERE txtProductBowlCode LIKE $species SET txtProductPrimarySpecies=$species%");
echo "done";
mysql_close($con);
?>
실행하는 것,하지만 난 데이터베이스를 검사 할 때 나는 어떤 변화를 볼 수 없습니다 :
나는 다음과 같은 PHP 스크립트를 시도했다.무엇이 누락 되었습니까?
이 데이터베이스에는 600 개가 넘는 레코드가 있으며,이 새로운 txtProductPrimarySpecies 필드를 추가하여 검색에 도움을주고 그릇에 특정 정보가있는 전체 코드를 남겨 두었습니다. 이 작업을 수행하는 데 필요한 몇 가지 종이 있으므로 종 목록을 실행하는 루프를 사용할 계획입니다.
종의 목록을 읽으려면 루프를 어떻게 코딩합니까?
좋아요,이 방법을 찾았습니다! 이 목록을 사용하지 않는 것이 더 의미가 만든
<?php
$con = mysql_connect("localhost","xxxxxx","zzzzzzz");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("scwdb", $con);
$species = 'Maple';
$result = mysql_query("UPDATE tblsplintersbowlinventory SET txtProductPrimarySpecies = '$species' WHERE txtProductBowlCode LIKE '$species%'");
$result = mysql_query("SELECT * FROM tblsplintersbowlinventory WHERE txtProductBowlCode LIKE '$species%'");
echo "<table border='1'>
<tr>
<th>Index</th>
<th>Bowl Code</th>
<th>Species</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['intProductID'] . "</td>";
echo "<td>" . $row['txtProductBowlCode'] . "</td>";
echo "<td>" . $row['txtProductPrimarySpecies'] . "</td>";
echo "</tr>";
}
echo "</table>";
echo "done";
mysql_close($con);
?>
이 일을하고,이 한 시간 촬영 때부터 수동으로 ...은 $ 종의 값을 변경하고 데이터베이스에있는 나무의 종의 각각을 실행 그리고 그것을 통해 반복 - 어쨌든 하나 또는 두 개의 종을 그리워하고 바인딩 된.
SET가 ... ... 당신은 MySQL의 오류를 검사하지 않는 WHERE 전에해야 - 그래서 당신은 어떤 –
코드에서 꽤 많은 오류가 있습니다 볼 수 없습니다 ... 당신은 최대 혼합 'LIKE'와'SET'에 대한 인수뿐만 아니라'SET'과'WHERE'의 순서는 문자열 값을 시동기의 작은 따옴표로 묶지 않았습니다. 또한 [mysql_ *] (http://news.php.net/php.internals/53799) 확장 버전은 더 이상 사용되지 않습니다. – doublesharp
새로운 코드를 작성하기 위해'mysql_ *'함수를 사용하지 마십시오. 더 이상 유지 관리되지 않으며 커뮤니티가 [지원 중단 프로세스] (http://goo.gl/q0gwD)를 시작했습니다. [빨간색 상자] (http://goo.gl/OWwr2)를 참조하십시오. 대신 [prepared statements] (http://goo.gl/orrj0)에 대해 알아야하며 [PDO] (http://goo.gl/TD3xh) 또는 [MySQLi] (http://php.net/)를 사용해야합니다. mysqli). 어떤 것을 결정할 수 없다면 [이 기사] (http://goo.gl/YXyWL)가 도움이 될 것입니다. PDO를 선택한 경우 [여기 좋은 지침서] (http://goo.gl/b2ATO)를 참조하십시오. [PHP에서 mysql 함수를 사용해야하는 이유는 무엇입니까?] (http://goo.gl/J5jAo) – Daedalus