לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #6  
ישן 29-10-2015, 11:30
  MikMak MikMak אינו מחובר  
 
חבר מתאריך: 26.10.15
הודעות: 10
בתגובה להודעה מספר 5 שנכתבה על ידי שימי שמתחילה ב "הקוד שלך חתוך, עדיף לו היית..."

ציטוט:
במקור נכתב על ידי שימי
הקוד שלך חתוך, עדיף לו היית פשוט מעתיק אותו בתוך תגיות php בפורום.

בכל אופן, קיבלת שגיאת 500. זו שגיאת שרת פנימית. כנראה שאת הסיבה תוכל למצוא בקובץ השגיאות של שרת ה web שלך.


הקוד מצורף בתמונה הראשונה, בשנייה הוא קצת חתוך , הינה לזה :

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://srv2.jpg.co.il/6/5631b86c4d936.png]


והוספת גם את הקוד :
קוד PHP:
<?php
    
$dbName 
$_SERVER["DOCUMENT_ROOT"] . "\Team.mdb";
if (!
file_exists($dbName)) {
    die(
"Could not find database file.");
}
$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$dbName; Uid=; Pwd=;");  

?>


איך אני בודק את הקובץ של השגיאות שרת (איפה הוא ? ) , שים לב אם אני שם :
$dbName = $_SERVER["DOCUMENT_ROOT"] . "\Team.mdb";
ללא סלאש ככה :
$dbName = $_SERVER["DOCUMENT_ROOT"] . "Team.mdb"; הוא לא מציג לי שגיאה אלה מציג ככה :

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://srv1.jpg.co.il/8/5631f49ce6b3e.png]


תודה רבה על העזרה.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #8  
ישן 02-11-2015, 14:41
  stam1heahad stam1heahad אינו מחובר  
 
חבר מתאריך: 14.11.10
הודעות: 66
בתגובה להודעה מספר 1 שנכתבה על ידי MikMak שמתחילה ב "בעיה עם התוכנה WEBMATRIX לפתוח חיבור למסד MDB של ACCESS עם PHP"

הי לך
מעולם לא עבדתי עם PDO ו אקסס אבל חיפוש קצר מוליך ל
קוד PHP:
<?php 
try{ 
   
// Connect    
$dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\animals.mdb;Uid=Admin");
 
// INSERT data 
    
$count $dbh->exec("INSERT INTO animals(animal_type, animal_name) VALUES ('kiwi', 'troy')");
 
// echo the number of affected rows     echo 
$count;      // close the database connection     $dbh = null; 

catch(
PDOException $e){     
echo 
$e->getMessage(); 
}
  
?>

שעשוי לעזור ולתפוש את השגיאה.

אפשרות נוספת שעובדת בסבירות גבוהה (עובד אצלי) היא לייצר
SYSTEM ODBC
כתוב
odbcad32.exe
מתפריט
RUN

וצור חדש
(במחיצת SYSTEM)

עזרה פה http://php.net/manual/en/function.odbc-connect.php
לאחר מכן אתה יכול להשתמש בקוד שכזה (תתאים אותו למבנה הטבלאות שלך )

אני מצטער שהשורות מבולבלות אבל החיבור של עברית ואנגלית בשורה פה לא מדהים


קוד PHP:
 <html
    <
body
    <?
php
 $conn 
odbc_connect('northwind','','');
 if(!
$conn)               exit("Connection Failed: " $conn);
$sql "SELECT * FROM customers";         
$rs odbc_exec($conn$sql);         
if(!
$rs)               exit("Error in SQL");         
echo 
"<table><tr>"
        echo 
"<th>Companyname</th>";         
echo 
"<th>Contactname</th></tr>";          
while(
odbc_fetch_row($rs)){ 
          
$compname=odbc_result($rs,"CompanyName");           
$conname=odbc_result($rs,"ContactName"); 
          echo 
"<tr><td>$compname</td>";           
echo 
"<td>$conname</td></tr>"
        }         
odbc_close($conn);
 echo 
"</table>";
 
?>     
</body>
    </html> 


בהצלחה (:


תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #10  
ישן 17-11-2015, 08:59
  MikMak MikMak אינו מחובר  
 
חבר מתאריך: 26.10.15
הודעות: 10
בתגובה להודעה מספר 8 שנכתבה על ידי stam1heahad שמתחילה ב "הי לך מעולם לא עבדתי עם PDO..."

הנה העלאתי שתי תמונות שמסכמות את הבעיות בקוד:

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://up415.siz.co.il/up3/wludmzwowkrn.png]



[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://up415.siz.co.il/up2/jcjtlm3zn2wq.png]


הערה:
הקובץ הוא TRY.PHP וקובץ MDB של ANIMALS , אני מריץ על שרת XAMPP ובדקתי ואין ";" בקובץ PHP.INI .
אני מוסיף את הקוד במידת הצורך :


קוד PHP:
<?php

$dbName 
$_SERVER["DOCUMENT_ROOT"] . "\Animals.mdb";
if (!
file_exists($dbName)) {
    die(
"Could not find database file.");
}
$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$dbName; Uid=; Pwd=;");

$result mysql_query("SELECT * FROM Animals WHERE animal_type = '1'");
if (!
$result) {
    echo 
'Could not run query: ' mysql_error();
    exit;
}
$row mysql_fetch_row($result);

echo 
$row[0]; // 42
echo $row[1]; // the email value

?>

נערך לאחרונה ע"י MikMak בתאריך 17-11-2015 בשעה 09:04.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #12  
ישן 17-11-2015, 10:43
  MikMak MikMak אינו מחובר  
 
חבר מתאריך: 26.10.15
הודעות: 10
בתגובה להודעה מספר 11 שנכתבה על ידי שימי שמתחילה ב "אתה שם לב שאת השאילתות אתה..."

ציטוט:
במקור נכתב על ידי שימי
אתה שם לב שאת השאילתות אתה מנסה לבצע באמצעות פונקציות שמיועדות לתקשורת עם MySQL ולא של PDO כמו החיבור למסד הנתונים שאותו אתחלת, כן?

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


אני יסביר לך למה אני משתמש בזה , יש לי cubox ועליו יש לי קודי וגם PHP ביחד , ואני לא יודע איך להתקין MYSQL על קודי , אז אני בתקווה שיעבוד לי הקוד הזה עם ACCESS וזה פשוט , אני שם את שני הקבצים על קופסה והכל מסתדר במקום להתקין MYSQL וכל הבלאגן הזה שיכול להיות ואני כמעט בטוח שיותר טוב אך אני לא יודע ופה טמונה הבעיה .

אשמח אם תוכל לעזור לי איך אני עושה שליפה עם PDO ?

תודה .
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #13  
ישן 17-11-2015, 11:59
  שימיadmin שימי אינו מחובר  
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
 
חבר מתאריך: 25.10.01
הודעות: 42,775
בתגובה להודעה מספר 12 שנכתבה על ידי MikMak שמתחילה ב "[QUOTE=שימי]אתה שם לב שאת..."

הממ, אני לא כל כך מכיר את זה, אבל אני רואה שזה מעבד של Freescale. עכשיו יכול להיות שהם התחילו לייצר מעבדי x86, אבל אם לא, זה נשמע שהקופסה שלך בכלל לא יכולה להריץ חלונות. אני לא יודע אם גישה לקובץ אקסס על מערכת שהיא לא חלונות דרך ODBC זה משהו שבכלל אפשרי (לי היה קשה אפילו דרך הרשת לגשת ל SQL Server של מיקרוסופט מלינוקס בלי קסטומיזציה של כל מיני רכיבים...) - אבל גם אם כן, יש לי הרגשה שזה יותר מסובך מפשוט להשתמש ב MySQL כמו שכולם עושים. אם מה שמפריע לך זה הרצת סרביס - תשתמש ב SQLite, שהיא מובנית גם בתוך PHP, ויהיה לך מסד נתונים בתוך קובץ בודד. כמובן שאם למישהו אחר יש תובנה אחרת לגבי מה שאמרתי פה, אני אשמח לשמוע, אבל נראה לי שאתה מכניס את הראש שלך למיטה חולה...

לגבי איך עושים שאילתות באופן כללי דרך PDO, אז... stam1heahad ענה לך על זה כבר לפני שבועיים, ואפילו הגבת לו...
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
נמאס לכם לזכור סיסמאות? לחצו כאן!

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #14  
ישן 17-11-2015, 13:27
  MikMak MikMak אינו מחובר  
 
חבר מתאריך: 26.10.15
הודעות: 10
בתגובה להודעה מספר 13 שנכתבה על ידי שימי שמתחילה ב "הממ, אני לא כל כך מכיר את זה,..."

ציטוט:
במקור נכתב על ידי שימי
הממ, אני לא כל כך מכיר את זה, אבל אני רואה שזה מעבד של Freescale. עכשיו יכול להיות שהם התחילו לייצר מעבדי x86, אבל אם לא, זה נשמע שהקופסה שלך בכלל לא יכולה להריץ חלונות. אני לא יודע אם גישה לקובץ אקסס על מערכת שהיא לא חלונות דרך ODBC זה משהו שבכלל אפשרי (לי היה קשה אפילו דרך הרשת לגשת ל SQL Server של מיקרוסופט מלינוקס בלי קסטומיזציה של כל מיני רכיבים...) - אבל אם כן, יש לי הרגשה שזה יותר מסובך מפשוט להשתמש ב MySQL כמו שכולם עושים. אם מה שמפריע לך זה הרצת סרביס - תשתמש ב SQLite, שהיא מובנית גם בתוך PHP, ויהיה לך מסד נתונים בתוך קובץ בודד. כמובן שאם למישהו אחר יש תובנה אחרת לגבי מה שאמרתי פה, אני אשמח לשמוע, אבל נראה לי שאתה מכניס את הראש שלך למיטה חולה...

לגבי איך עושים שאילתות באופן כללי דרך PDO, אז... stam1heahad ענה לך על זה כבר לפני שבועיים, ואפילו הגבת לו...


ראשית , תודה רבה על העזרה.

אכן Freescale לא תומך בפלטפורמה ווינדוס רק לינוקס/אנדרואיד . לכן אני מריץ geexbox על הקופסה שזה קודי וזה בא מובנה עם PHP 5.4 .
עכשיו , ניסיתי את מה שרשם ליstam1heahad :

קוד PHP:
<?php 
try{ 
   
// Connect    
$dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\animals.mdb;Uid=Admin");
 
// INSERT data 
    
$count $dbh->exec("INSERT INTO animals(animal_type, animal_name) VALUES ('kiwi', 'troy')");
 
// echo the number of affected rows     echo 
$count;      // close the database connection     $dbh = null; 

catch(
PDOException $e){     
echo 
$e->getMessage(); 
}
  
?>


רק הבעיה שזה לא באמת עובד , שאני מריץ את דף PHP הדף מופיע ללא שגיאות ורק דף לבן ואז אני בודק את הטבלה של animal.mdb ולא נוספו הנתונים לקובץ MDB בכלל.

הרעיון שלך לגבי sqlite נראה לי מצוין אם זה יעבוד בסביבה של לינוקס , השאלה יש לך רק פקודות פשוטות של פתיחת מסד חדש והכנסת נתונים ושליפה רק לראות שזה יעבוד בסיסי ואז אני ישחק עם הקוד בהתאם לצורך . ( פשוט מזה התחרפנתי עם הקוד הזה שאני לא מצליח לחבר ACCESS עם PHP הכי בסיסי שיש , אני ישמח לראות משהו פשוט שכבר עובד)


שוב תודה רבה...
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #15  
ישן 18-11-2015, 07:30
  שימיadmin שימי אינו מחובר  
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
 
חבר מתאריך: 25.10.01
הודעות: 42,775
בתגובה להודעה מספר 14 שנכתבה על ידי MikMak שמתחילה ב "[QUOTE=שימי]הממ, אני לא כל כך..."

ייתכן שאין פלט כי יש שגיאה והיא רק בלוג ולא נפלטת למסך? בכל מקרה, נשמע לי מושג שגישה לקובץ mdb תעבוד out of the box במערכת שאינה חלונות.

בחזרה ל SQLite...

יצירת סכמת טבלה בשורת הפקודה:
קוד:
$ sqlite3 mikmak.sqlite SQLite version 3.8.7.2 2014-11-18 20:57:56 Enter ".help" for usage hints. sqlite> CREATE TABLE animals(animal_type text, animal_name text); sqlite> .quit


קוד:
קוד PHP:
<?php

$sqlite 
= new SQLite3('mikmak.sqlite');
$sqlite->exec("INSERT INTO animals(animal_type, animal_name) VALUES ('kiwi', 'troy')");

?>


אחרי הרצתו, ניתן לראות שהמידע נוסף למסד הנתונים:
קוד:
$ sqlite3 mikmak.sqlite .dump PRAGMA foreign_keys=OFF; BEGIN TRANSACTION; CREATE TABLE animals(animal_type text, animal_name text); INSERT INTO "animals" VALUES('kiwi','troy'); COMMIT;


ולמען האמת אפשר גם לעשות שקוד ה PHP ייצור אוטומטית את הסכמה (בעצם, קובץ ה SQLite) אם היא עדיין לא קיימת במקום שבו נפתח קובץ מסד הנתונים...

קוד PHP:
<?php

$sqlfile 
'mikmak.sqlite';

$create = (file_exists($sqlfile)) ? false true;

$sqlite = new SQLite3($sqlfile);

if (
$create)
        
$sqlite->exec("CREATE TABLE animals(animal_type text, animal_name text)");

$sqlite->exec("INSERT INTO animals(animal_type, animal_name) VALUES ('kiwi', 'troy')");

?>


שים לב שאין בכל דוגמאות הקוד error handling מכל סוג, זה כבר משהו שאתה תצטרך לטפל בו. ב SQLite, כיוון שלא מתחברים לשום מקום - השגיאות הסבירות הן: אי יכולת ליצור קובץ בגלל אי הרשאה לכתוב במקום שבו מנסים ליצור את הקובץ, או אי אפשרות לכתוב לקובץ משום שהוא כבר קיים אבל בבעלות של משתמש שהוא לא המשתמש שמריץ את קוד ה PHP, או שמערכת הקבצים היא read-only, או שנגמר המקום בדיסק, או שכל ה inodes מלאים.
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
נמאס לכם לזכור סיסמאות? לחצו כאן!

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 17:43

הדף נוצר ב 0.09 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר