אשמח לעזרה- הודעת שגיאה חיפוש מילה בעברית בטבלה קיימת

noamsharon76

New member
אשמח לעזרה- הודעת שגיאה חיפוש מילה בעברית בטבלה קיימת

שלום חברים, יש לי קצת ידע שכשתי בעזרת מדריכים, אנני מתכנת.
אשמח לעזרתכם אודות הודעת שגיאה שנתקלתי בה ב mysql
התקלה מופיע כאשר אני מנסה להציג נתונים מכמה טבלאות, כאשר באחת העמודות מופיע שם בעברית.

הודעת השגיאה מצורפת בקובץ.

יש לי 3 טבלאות
- customer_table המכיל את שמות המתפללים
- operation_table המכיל את הפעולה של המתפלל אם זה מי שברך, עליה לתורה וכו...
- data_integration_table טבלה שמכילה את כל השיבוצים, ה ID של של המתפלל, ID של הפעולה, שם הפרשה, תאריך הביצוע והסכום שתרם.

הכנתי 2 קבצים הראשון בעזרת FORM שאני בוחר מתוך רשימה את שם המתפלל ואת הפעולה, ב Input נוסף רושם בעברית את שם הפרשה,
בהתאם לכפתור שאני לוחץ זה מבצע את החיפוש הנדרש שקבעתי בקוד.

בקובץ השני החיפוש מתבצע עם הצגת הנתונים בתוך טבלה.
השתמשתי בפקודות INNER JOIN וב WHERE

ברגע שאני רשום בעברית לוחץ על כתפור החיפםוש המתאים לפי שם הפרשה, אני מקבל את הודעת השגיאה, שאר החיפושים זה עובד.

הקוד שאני משתמש בו , אני רושם את הקודים הקשורים, אחרת זה יהיה ארוך פחות מובן לפי דעתי.

קוד:
<head>
<meta charset="UTF-8"> 
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>

<form method="post" action="read_DataIntegration.php">
<span>פרשה: </span><input type="text" name="thora" placeholder="פרשה">
<button class="button-_style" type='submit' name='btn_submit' value='Button 3'>הצג לפי פרשה</button>
</form>

הקובץ השני read_DataIntegration.php
כאשר בעמודה thora כל השמות בעברית.
קוד:
<head>
 <meta charset="utf-8">
 <link rel="stylesheet" type="text/css" href="style.css"/>
</head>

<?php header('Content-Type: text/html; charset=utf-8');

echo "<table class='special' align='right';>";
  echo "<tr>
		<th>שם המתפלל</th>
		<th>שם הפעולה</th>
		<th>שם הפרשה</th>
		<th>תאריך</th>
		<th>סכום</th>
		</tr>";

  // קבלת נתונים מהפורם
$customer_id = $_REQUEST['output'];
$operation_id = $_REQUEST['output1'];
$date = $_REQUEST['date'];
$thora = $_REQUEST['thora'];
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "synagogue";

try 
 {
	 $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
	 // set character name
	$conn->query("SET NAMES 'utf8'");
 }
catch(PDOException $e) 
{
     echo "Error: " . $e->getMessage();
}

$sth = $conn->query("SELECT data_integration_table.date, data_integration_table.thora, data_integration_table.amount, customer_table.first_name, customer_table.last_name, operation_table.operation_name FROM data_integration_table 
	 INNER JOIN customer_table ON data_integration_table.customer_id = customer_table.customer_id
	 INNER JOIN operation_table ON data_integration_table.operation_id = operation_table.operation_id WHERE data_integration_table.thora = $thora");
	 
	 $sth->setFetchMode(PDO::FETCH_BOTH);// Mode par défaut (tableau)
	 while($row = $sth->fetch())
	{
	 echo "</tr>";
	 echo "<td>", $row['first_name'], '&nbsp',  $row['last_name'],"</td>";
	 echo "<td>", $row['operation_name'], "</td>";
 	 echo "<td>", $row['thora'], "</td>";
 	 echo "<td>", $row['date'], "</td>";
	 echo "<td>", $row['amount'], "</td>";
	 echo "</tr>";
$sth->closeCursor();
echo "</table>";
$conn = null;
?>


 

גרי רשף

New member
קשה לדעת ככה..

..אינני מתמצא ב-asp וחסר מידע.
יכול להיות שהשאילתה שנכשלת היא היחידה בה הפרמטר הוא טקסט ולא מספר?
אני שואל כי טקסט אמור להיות תחום במרכאות.
 

noamsharon76

New member
הצלחתי

מצאתי איך לעשות זאת.
צריך לשים גרש בכל צד המשתנה
WHERE data_integration_table.thora = '$thora'
 
למעלה